我对我在eclipse上开发的Android Studio SDK感到沮丧,但时不时地,努力迁移到Android Studio。我无法开始使用Android Studio。
我正试图在Android Studio上实现一个名为"PlaybackDemo“的DJI演示。我已经让它在Eclipse上工作了,但是Android Studio版本不能工作。应用程序会像预期的那样启动DJIAoaActivity,然后启动DroneSelectionActivity,但当你选择无人机的类型时,PlaybackProtocolActivity不会启动,应用程序会崩溃。我在LogCat上得不到PlaybackProtocolActivity所期望的OnGetPermissionResult。
我总是得到以下错误:
11-11 11:52:56.338 28334-28334/com.example.myapp E/CliptrayUtils: hideClipTrayIfNeeded() TextView is focused!! hideClipTray()
11-11 11:52:58.058 28334-28334/com.example.myapp E/FPVController: Couldn't load lib
11-11 11:52:58.058 28334-28334/com.example.myapp E/art: No implementation found for int dji.midware.natives.FPVController.native_setIsNeedPacked(boolean) (tried Java_dji_midware_natives_FPVController_native_1setIsNeedPacked and Java_dji_midware_natives_FPVController_native_1setIsNeedPacked__Z)
11-11 11:52:58.186 28334-30034/com.example.myapp E/art: No implementation found for long dji.midware.natives.GroudStation.native_hashFromString(byte[]) (tried Java_dji_midware_natives_GroudStation_native_1hashFromString and Java_dji_midware_natives_GroudStation_native_1hashFromString___3B)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: FATAL EXCEPTION: main
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: Process: com.example.myapp, PID: 28334
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for int dji.midware.natives.FPVController.native_setIsNeedPacked(boolean) (tried Java_dji_midware_natives_FPVController_native_1setIsNeedPacked and Java_dji_midware_natives_FPVController_native_1setIsNeedPacked__Z)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at dji.midware.natives.FPVController.native_setIsNeedPacked(Native Method)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at dji.sdk.api.DJIDrone.connectToInspire(Unknown Source)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at dji.sdk.api.DJIDrone.connectToDrone(Unknown Source)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at com.example.myapp.PlaybackProtocolActivity.onInitSDK(PlaybackProtocolActivity.java:473)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at com.example.myapp.PlaybackProtocolActivity.onCreate(PlaybackProtocolActivity.java:154)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:6020)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2259)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2366)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at android.app.ActivityThread.access$800(ActivityThread.java:149)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at android.os.Looper.loop(Looper.java:135)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5290)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
11-11 11:52:58.230 28334-28334/com.example.myapp E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
发布于 2015-11-12 14:43:03
从日志中可以明显看出。感兴趣的线:
int dji.midware.natives.FPVController.native_setIsNeedPacked(boolean) (尝试过Java_dji_midware_natives_FPVController_native_1setIsNeedPacked和Java_dji_midware_natives_FPVController_native_1setIsNeedPacked__Z) )没有实现
java.lang.UnsatisfiedLinkError
我的猜测是:您已经链接了x86本机库,但没有为您的手机使用的处理器链接本机库。本机库的诅咒:您需要为您打算在其上运行的每个处理器预编译它们。
我不熟悉Eclipse上的NDK开发。如果您使用的是Android Studio,那么每个处理器家族都会有单独的构建目标,另外还有一个构建目标,用于为您选择支持的所有处理器构建本地库并将其包含到单个APK中。Eclipse大概有一些等价的概念,可以在某个地方构建目标。
发布于 2016-04-14 21:27:45
对我来说,我是一个Android Studio的家伙,我遇到了一个更严重的问题。当我试图在Android Studio中打开PlaybackDemo,并在项目导航器上选择"Android“选项卡时,没有显示任何内容。似乎项目结构不正确,不适合Android Studio。
另外,我刚才看了一下PlaybackDemo,听说是用DJI SDK2.4开发的?这个版本比当前的3.1.1版本要老很多。看起来像虫子一样。
顺便说一句,如果你真的想尝试在Android Studio上使用DJI Android SDK,我建议你看看这个导入DJI SDK to Android Studio教程,它很适合我。
https://stackoverflow.com/questions/33656335
复制相似问题