Navigation

    蓝鲸ROS机器人论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Popular
    ROS交流群
    ROS Group
    产品服务
    Product Service
    开源代码库
    Github
    官网
    Official website
    技术交流
    Technological exchanges
    激光雷达
    LIDAR
    ROS教程
    ROS Tourials
    深度学习
    Deep Learning
    机器视觉
    Computer Vision

    在Android中使用ROS

    技术交流
    rosjava ros android
    4
    11
    8028
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • BITLiuYu
      BITLiuYu last edited by weijiz

      我的系统是Ubuntu,所有的设置也是按照您的教程做的,但是run的时候就立即闪退。
      其中,修改app的build.gradle时出现错误:

      Error:Conflict with dependency 'com.google.code.findbugs:jsr305' in project ':app'. Resolved versions for app (1.3.9) and test app (2.0.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details.
      

      按照网上的方式,进行修改,在Android节点下添加:

      configurations.all {
      resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
      }
      

      不知道是否会影响

      我的build.gradle为:

      apply plugin: 'com.android.application'
      
      android {
      compileSdkVersion 25
      //buildToolsVersion '25.0.0'
      defaultConfig {
      applicationId "com.example.rostest"
      minSdkVersion 15
      targetSdkVersion 25
      versionCode 1
      versionName "1.0"
      testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
      }
      buildTypes {
      release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      }
      }
      productFlavors {
      }
      
      configurations.all {
          resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
      }
      
      }
      
      dependencies {
      compile fileTree(include: ['*.jar'], dir: 'libs')
      androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
      exclude group: 'com.android.support', module: 'support-annotations'
      })
      compile 'com.android.support:appcompat-v7:25.+'
      compile 'com.android.support.constraint:constraint-layout:1.0.2'
      testCompile 'junit:junit:4.12'
      
      //androidTestCompile 'com.android.support.test:runner:1.0.2'
      //androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
      
      compile 'org.ros.android_core:android_10:[0.3,0.4)'
      
      }
      
      
      weijiz 1 Reply Last reply Reply Quote 0
      • weijiz
        weijiz @BITLiuYu last edited by

        @bitliuyu 在 在Android中使用ROS 中说:

        versionName

        可以运行例子的Android项目吗?
        闪退后Logcat里面的错误是什么?
        是不是没有设置网络权限?

        BITLiuYu 1 Reply Last reply Reply Quote 0
        • BITLiuYu
          BITLiuYu @weijiz last edited by

          @weijiz 可以运行自带的HelloWorld,但是改为您写的MainActivity就会闪退,URI.create我已经改为自己的ip地址了。logcat错误信息为:
          10-15 17:16:56.627 32148-32148/org.bwbot.rostest E/AndroidRuntime: FATAL EXCEPTION: main
          Process: org.bwbot.rostest, PID: 32148
          java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.bwbot.rostest/org.bwbot.rostest.MainActivity}: java.lang.IllegalAccessException: void org.bwbot.rostest.MainActivity.() is not accessible from java.lang.Class<android.app.AppComponentFactory>
          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2843)
          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
          at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
          at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
          at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
          at android.os.Handler.dispatchMessage(Handler.java:106)
          at android.os.Looper.loop(Looper.java:193)
          at android.app.ActivityThread.main(ActivityThread.java:6669)
          at java.lang.reflect.Method.invoke(Native Method)
          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
          Caused by: java.lang.IllegalAccessException: void org.bwbot.rostest.MainActivity.() is not accessible from java.lang.Class<android.app.AppComponentFactory>
          at java.lang.Class.newInstance(Native Method)
          at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:69)
          at android.app.Instrumentation.newActivity(Instrumentation.java:1215)
          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2831)
          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) 
          at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
          at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
          at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) 
          at android.os.Handler.dispatchMessage(Handler.java:106) 
          at android.os.Looper.loop(Looper.java:193) 
          at android.app.ActivityThread.main(ActivityThread.java:6669) 
          at java.lang.reflect.Method.invoke(Native Method) 
          at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

          weijiz 1 Reply Last reply Reply Quote 0
          • weijiz
            weijiz @BITLiuYu last edited by

            @bitliuyu 在 在Android中使用ROS 中说:

            lass<android.app.AppComponentFactory>

            从错误看不像是gradle的设置问题。你可以把你的代码发github上,我给你看看。

            BITLiuYu 1 Reply Last reply Reply Quote 0
            • BITLiuYu
              BITLiuYu @weijiz last edited by

              @weijiz 这是我上传到github上的代码
              https://github.com/BITLiuYu/ROSTest.git
              多谢您能帮我看一下

              weijiz 1 Reply Last reply Reply Quote 0
              • weijiz
                weijiz @BITLiuYu last edited by weijiz

                @bitliuyu 你的程序我可以正常运行额

                0_1539598709253_424f26be-ce25-4643-95d6-ed09d0b2b5f8-image.png

                用的是这个配置
                0_1539598792004_e3effb8e-02a4-4b50-9e42-97b5e018da13-image.png

                BITLiuYu 1 Reply Last reply Reply Quote 0
                • BITLiuYu
                  BITLiuYu @weijiz last edited by

                  @weijiz 我的程序也跑通了,是一个设置出了问题,修改过程是:
                  打开IDE,进入File—>Setting—>Build,Execution,Deployment—>Instant Run
                  将将enable instant run to hot swap code/resource changes on deploy勾上!
                  0_1539602762564_Screenshot from 2018-10-15 19-25-14.png

                  1 Reply Last reply Reply Quote 0
                  • gongyue666
                    gongyue666 last edited by

                    请问导入的自建消息,如何在jni中调用呢?

                    gongyue666 1 Reply Last reply Reply Quote 0
                    • gongyue666
                      gongyue666 @gongyue666 last edited by

                      @gongyue666 好像是给java用的,如果是给c++用的自建消息应该如何导入呢?

                      1 Reply Last reply Reply Quote 0
                      • 几何木偶
                        几何木偶 last edited by

                        为什么编译总是这个错误?是依赖错了吗?

                        Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://github.com/rosjava/android_core/raw/kinetic/buildscript.gradle'.
                        	at org.gradle.internal.resource.ResourceExceptions.failure(ResourceExceptions.java:74)
                        	at org.gradle.internal.resource.ResourceExceptions.getFailed(ResourceExceptions.java:57)
                        	at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceAccessor.resolve(DefaultExternalResourceAccessor.java:67)
                        	at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceAccessor.resolveUri(DefaultExternalResourceAccessor.java:47)
                        	at org.gradle.internal.resource.transfer.DefaultUriTextResourceLoader.loadUri(DefaultUriTextResourceLoader.java:43)
                        	at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyScript(DefaultObjectConfigurationAction.java:103)
                        	at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$000(DefaultObjectConfigurationAction.java:38)
                        	at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$1.run(DefaultObjectConfigurationAction.java:68)
                        	at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:143)
                        	at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:46)
                        	at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.java:34)
                        	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                        	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                        	at java.lang.reflect.Method.invoke(Method.java:498)
                        	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
                        	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
                        	at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:479)
                        	at org.gradle.internal.metaobject.BeanDynamicObject.tryInvokeMethod(BeanDynamicObject.java:191)
                        	at org.gradle.groovy.scripts.BasicScript$ScriptDynamicObject.tryInvokeMethod(BasicScript.java:130)
                        	at org.gradle.internal.metaobject.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:78)
                        	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:430)
                        	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:369)
                        	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
                        	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69)
                        
                        Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not HEAD 'https://github.com/rosjava/android_core/raw/kinetic/buildscript.gradle'.
                        	at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:96)
                        	at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawHead(HttpClientHelper.java:72)
                        	at org.gradle.internal.resource.transport.http.HttpClientHelper.performHead(HttpClientHelper.java:76)
                        	at org.gradle.internal.resource.transport.http.HttpResourceAccessor.getMetaData(HttpResourceAccessor.java:65)
                        	at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.getMetaData(DefaultExternalResourceConnector.java:63)
                        	at org.gradle.internal.resource.transfer.AccessorBackedExternalResource.getMetaData(AccessorBackedExternalResource.java:201)
                        	at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$1.call(BuildOperationFiringExternalResourceDecorator.java:61)
                        	at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator$1.call(BuildOperationFiringExternalResourceDecorator.java:58)
                        	at org.gradle.internal.progress.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:350)
                        	at org.gradle.internal.progress.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:340)
                        	at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
                        	at org.gradle.internal.progress.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:120)
                        	at org.gradle.internal.resource.BuildOperationFiringExternalResourceDecorator.getMetaData(BuildOperationFiringExternalResourceDecorator.java:58)
                        	at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor$1.create(DefaultCacheAwareExternalResourceAccessor.java:102)
                        	at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor$1.create(DefaultCacheAwareExternalResourceAccessor.java:82)
                        	at org.gradle.cache.internal.ProducerGuard$AdaptiveProducerGuard.guardByKey(ProducerGuard.java:97)
                        	at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.getResource(DefaultCacheAwareExternalResourceAccessor.java:82)
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright © 2015-2021 BlueWhale community