ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Didn't find class "std_msgs.uint32" error on Android Studio [SOLVED]

asked 2016-04-20 10:56:08 -0600

mbd gravatar image

updated 2016-05-07 12:10:06 -0600

Hi everyone.

I am trying to run ROS on my Android device. I downloaded the project below. https://github.com/ollide/rosjava_and...

I opened up it in Android Studio. When I run the project there is nothing wrong. After I click to Connect, Public Master or Private Master it throws the exception below.

It would be really great if anyone can help me or you can tell me what is the best way to run ROS on Android.

OS: Windows 10

IDE: Android Studio 2.1

Device version: Android 5.0, 4.4, 5.1, 6.0

Thanks

UPDATE 1: It also throws the same exception with the examples at https://github.com/rosjava-release/gr... on Ubuntu OS.

UPDATE 2: The app from ollide's project is working well on the virtual devices which are created by Genymotion emulator. After I pressed the connect button, I can see the Android node by executing "rostopic list" on my ubuntu. Still got the same error on my physical devices.

FATAL EXCEPTION: pool-1-thread-7 Process: org.ollide.rosandroid, PID: 31466 org.ros.exception.RosMessageRuntimeException: java.lang.ClassNotFoundException: Didn't find class "std_msgs.uint32" on path: DexPathList[[zip file "/data/app/org.ollide.rosandroid-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at org.ros.internal.message.definition.MessageDefinitionReflectionProvider.get(MessageDefinitionReflectionProvider.java:58) at org.ros.internal.message.Md5Generator.generate(Md5Generator.java:44) at org.ros.internal.message.Md5Generator$1.variableValue(Md5Generator.java:61) at org.ros.internal.message.definition.MessageDefinitionParser.parseField(MessageDefinitionParser.java:172) at org.ros.internal.message.definition.MessageDefinitionParser.parse(MessageDefinitionParser.java:107) at org.ros.internal.message.Md5Generator.generateText(Md5Generator.java:86) at org.ros.internal.message.Md5Generator.generate(Md5Generator.java:49) at org.ros.internal.message.Md5Generator$1.variableValue(Md5Generator.java:61) at org.ros.internal.message.definition.MessageDefinitionParser.parseField(MessageDefinitionParser.java:172) at org.ros.internal.message.definition.MessageDefinitionParser.parse(MessageDefinitionParser.java:107) at org.ros.internal.message.Md5Generator.generateText(Md5Generator.java:86) at org.ros.internal.message.Md5Generator.generate(Md5Generator.java:49) at org.ros.internal.message.topic.TopicDescriptionFactory.newFromType(TopicDescriptionFactory.java:36) at org.ros.internal.node.DefaultNode.newPublisher(DefaultNode.java:270) at org.ros.internal.node.RosoutLogger.<init>(RosoutLogger.java:41) at org.ros.internal.node.DefaultNode.start(DefaultNode.java:186) at org.ros.internal.node.DefaultNode.access$000(DefaultNode.java:85) at org.ros.internal.node.DefaultNode$1.run(DefaultNode.java:173) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818) Caused by: java.lang.ClassNotFoundException: Didn't find class "std_msgs.uint32" on path: DexPathList[[zip file "/data/app/org.ollide.rosandroid-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at org.ros.internal.message.definition.MessageDefinitionReflectionProvider.get(MessageDefinitionReflectionProvider.java:54) at org.ros.internal.message.Md5Generator.generate(Md5Generator.java:44) at org.ros ...

(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2016-05-07 12:02:25 -0600

mbd gravatar image

updated 2016-05-07 12:05:24 -0600

It works on rooted devices without any problem. So one way to solve this issue is rooting your device.

edit flag offensive delete link more

Comments

In general rosjava does not require rooting your device. I suspect this is specific to the ollide deployment mechanism.

tfoote gravatar image tfoote  ( 2016-05-07 16:30:27 -0600 )edit

Same situation is valid for ROS's official Android tutorial apps.

mbd gravatar image mbd  ( 2016-05-10 08:33:42 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2016-04-20 10:56:08 -0600

Seen: 482 times

Last updated: May 07 '16