ollide / rosjava_android_template Goto Github PK
View Code? Open in Web Editor NEWA small Android Studio project containing all ROS dependencies, an example node and a ProGuard configuration.
License: Apache License 2.0
A small Android Studio project containing all ROS dependencies, an example node and a ProGuard configuration.
License: Apache License 2.0
Hi! maybe I just have no clue what I'm doing, but do you know how I could integrate all of the views, etc associated with the android_15 branch? Or at least the virtual joystick view that they have?
Thanks!
Hi!
This is a really great work.
But I got a problem.
When I tap to the connect button in the first activity, the app crashes.
I wonder if you can help me.
OS: Windows 10
IDE: Android Studio 1.5
Device version: Android 5.0
Thanks
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.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) Suppressed: java.lang.ClassNotFoundException: std_msgs.uint32 at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 22 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
I'm trying to get the CameraPreviewView working following this blog post...
http://wiki.ros.org/ApplicationsPlatform/Clients/Android/Tutorials/Getting%20Started
My goal is to have the CameraPreviewView send phone camera data to my ROS server.
01-28 16:02:38.388 20762-20762/org.ollide.rosandroid D/ResourcesManager: creating new AssetManager and set to /data/app/org.ollide.rosandroid-1/base.apk
01-28 16:02:38.528 20762-20762/org.ollide.rosandroid D/Activity: performCreate Call secproduct feature valuefalse
01-28 16:02:38.528 20762-20762/org.ollide.rosandroid D/Activity: performCreate Call debug elastic valuetrue
01-28 16:02:38.608 20762-20794/org.ollide.rosandroid D/OpenGLRenderer: Render dirty regions requested: true
01-28 16:02:38.698 20762-20794/org.ollide.rosandroid I/Adreno-EGL: <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: ()
OpenGL ES Shader Compiler Version: E031.25.03.06
Build Date: 01/24/15 Sat
Local Branch: AF11_RB1_AU15
Remote Branch:
Local Patches:
Reconstruct Branch:
01-28 16:02:38.698 20762-20794/org.ollide.rosandroid I/OpenGLRenderer: Initialized EGL, version 1.4
01-28 16:02:38.718 20762-20794/org.ollide.rosandroid D/OpenGLRenderer: Enabling debug mode 0
01-28 16:02:38.878 20762-20762/org.ollide.rosandroid I/Timeline: Timeline: Activity_launch_request id:org.ollide.rosandroid time:76181793
01-28 16:02:39.459 20762-20762/org.ollide.rosandroid D/Activity: performCreate Call secproduct feature valuefalse
01-28 16:02:39.459 20762-20762/org.ollide.rosandroid D/Activity: performCreate Call debug elastic valuetrue
01-28 16:02:39.519 20762-20762/org.ollide.rosandroid D/Activity: performCreate Call secproduct feature valuefalse
01-28 16:02:39.519 20762-20762/org.ollide.rosandroid D/Activity: performCreate Call debug elastic valuetrue
01-28 16:02:39.889 20762-20762/org.ollide.rosandroid I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@254b5514 time:76182804
01-28 16:02:39.889 20762-20762/org.ollide.rosandroid I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@254b5514 time:76182805
01-28 16:02:39.909 20762-20762/org.ollide.rosandroid V/ActivityThread: updateVisibility : ActivityRecord{2765dbe5 token=android.os.BinderProxy@3554a020 {org.ollide.rosandroid/org.ollide.rosandroid.MainActivity}} show : false
01-28 16:02:46.806 20762-20762/org.ollide.rosandroid D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
01-28 16:02:47.386 20762-20762/org.ollide.rosandroid W/CameraBase: An error occurred while connecting to camera: 0
01-28 16:02:47.386 20762-20762/org.ollide.rosandroid D/AndroidRuntime: Shutting down VM
01-28 16:02:47.396 20762-20762/org.ollide.rosandroid E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.ollide.rosandroid, PID: 20762
java.lang.RuntimeException: Fail to connect to camera service
at android.hardware.Camera.(Camera.java:545)
at android.hardware.Camera.open(Camera.java:385)
at org.ollide.rosandroid.MainActivity$1.run(MainActivity.java:53)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:5942)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)
01-28 16:02:47.697 20762-21111/org.ollide.rosandroid I/Registrar: MasterXmlRpcEndpoint URI: http://192.168.0.66:11311/
01-28 16:02:47.807 20762-21156/org.ollide.rosandroid I/Registrar: Registering publisher: Publisher<PublisherDefinition<PublisherIdentifier<NodeIdentifier</ros_camera_preview_view, http://192.168.0.65:50831/>, TopicIdentifier>, Topic<TopicIdentifier, TopicDescription<rosgraph_msgs/Log, acffd30cd6b6de30f120938c17c593fb>>>>
01-28 16:02:48.097 20762-21163/org.ollide.rosandroid I/Registrar: Response<Success, Registered [/ros_camera_preview_view] as publisher of [/rosout], [http://mrosario-ubuntu:44416/]>
01-28 16:02:48.097 20762-21159/org.ollide.rosandroid I/DefaultPublisher: Publisher registered: Publisher<PublisherDefinition<PublisherIdentifier<NodeIdentifier</ros_camera_preview_view, http://192.168.0.65:50831/>, TopicIdentifier>, Topic<TopicIdentifier, TopicDescription<rosgraph_msgs/Log, acffd30cd6b6de30f120938c17c593fb>>>>
01-28 16:02:48.107 20762-21113/org.ollide.rosandroid I/Registrar: Registering publisher: Publisher<PublisherDefinition<PublisherIdentifier<NodeIdentifier</ros_camera_preview_view, http://192.168.0.65:50831/>, TopicIdentifier</camera/image/compressed>>, Topic<TopicIdentifier</camera/image/compressed>, TopicDescription<sensor_msgs/CompressedImage, 8f7a12909da2c9d3332d540a0977563f>>>>
01-28 16:02:48.117 20762-21113/org.ollide.rosandroid I/Registrar: Registering publisher: Publisher<PublisherDefinition<PublisherIdentifier<NodeIdentifier</ros_camera_preview_view, http://192.168.0.65:50831/>, TopicIdentifier</camera/camera_info>>, Topic<TopicIdentifier</camera/camera_info>, TopicDescription<sensor_msgs/CameraInfo, c9a58c1b0b154e0e6da7578cb991d214>>>>
01-28 16:02:48.137 20762-21175/org.ollide.rosandroid I/Registrar: Response<Success, Registered [/ros_camera_preview_view] as publisher of [/camera/image/compressed], []>
01-28 16:02:48.137 20762-21163/org.ollide.rosandroid I/DefaultPublisher: Publisher registered: Publisher<PublisherDefinition<PublisherIdentifier<NodeIdentifier</ros_camera_preview_view, http://192.168.0.65:50831/>, TopicIdentifier</camera/image/compressed>>, Topic<TopicIdentifier</camera/image/compressed>, TopicDescription<sensor_msgs/CompressedImage, 8f7a12909da2c9d3332d540a0977563f>>>>
01-28 16:02:48.147 20762-21182/org.ollide.rosandroid I/Registrar: Response<Success, Registered [/ros_camera_preview_view] as publisher of [/camera/camera_info], []>
01-28 16:02:48.147 20762-21180/org.ollide.rosandroid I/DefaultPublisher: Publisher registered: Publisher<PublisherDefinition<PublisherIdentifier<NodeIdentifier</ros_camera_preview_view, http://192.168.0.65:50831/>, TopicIdentifier</camera/camera_info>>, Topic<TopicIdentifier</camera/camera_info>, TopicDescription<sensor_msgs/CameraInfo, c9a58c1b0b154e0e6da7578cb991d214>>>>
Could I be missing a configuration setting somewhere?
I appreciate any pointers that you might have.
All the best!
For your review... I have attached my manifest too.
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Hi I tried using your template but whenever I try to open a class contained in the example-app project, I get these red squiggly lines all over. Something about "Cannot resolve symbol 'NodeMain'"
Initial sync finishes successfully but I'm unable to build even the example-app you added.
Any help would be gratefully appreciated.
Regards
Hi,
I am trying to connect to the ROS MASTER URI that i have generated by starting roscore.(http://mrinal-Nitro-AN515-42:11311/)
But it is showing that 'Unable to resolv host '.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.