我正在使用ImageTargets示例,无论出于何种原因,当我尝试调用ImageTargets库时,我得到java.lang.UnsatisfiedLinkError
。
任何想法为什么?我必须在某处设置路径吗?
我按照this link的指南进行了操作。我安装好了一切。设置vuforia路径后,我导入了ImageTargets
示例应用程序但是当我运行该应用程序时,我得到java.lang.UnsatisfiedLinkError exception
,我不知道我做错了什么,请任何人建议我谢谢你......
下面是我的logcat
04-06 07:11:21.321: E/AndroidRuntime(2288): FATAL EXCEPTION: main
04-06 07:11:21.321: E/AndroidRuntime(2288): java.lang.UnsatisfiedLinkError:
Nativemethod not found:
com.qualcomm.QCARSamples.ImageTargets.ImageTargets.getOpenGlEsVersionNative:()I
04-06 07:11:21.321: E/AndroidRuntime(2288): at com.qualcomm.QCARSamples.ImageTargets.ImageTargets.getOpenGlEsVersionNative(Native Method)
04-06 07:11:21.321: E/AndroidRuntime(2288): at com.qualcomm.QCARSamples.ImageTargets.ImageTargets.getInitializationFlags(ImageTargets.java:384)
04-06 07:11:21.321: E/AndroidRuntime(2288): at com.qualcomm.QCARSamples.ImageTargets.ImageTargets.onCreate(ImageTargets.java:355)
04-06 07:11:21.321: E/AndroidRuntime(2288): at android.app.Activity.performCreate(Activity.java:5104)
04-06 07:11:21.321: E/AndroidRuntime(2288): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
04-06 07:11:21.321: E/AndroidRuntime(2288): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
04-06 07:11:21.321: E/AndroidRuntime(2288): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
04-06 07:11:21.321: E/AndroidRuntime(2288): at android.app.ActivityThread.access$600(ActivityThread.java:141)
04-06 07:11:21.321: E/AndroidRuntime(2288): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
04-06 07:11:21.321: E/AndroidRuntime(2288): at android.os.Handler.dispatchMessage(Handler.java:99)
04-06 07:11:21.321: E/AndroidRuntime(2288): at android.os.Looper.loop(Looper.java:137)
04-06 07:11:21.321: E/AndroidRuntime(2288): at android.app.ActivityThread.main(ActivityThread.java:5041)
04-06 07:11:21.321: E/AndroidRuntime(2288): at java.lang.reflect.Method.invokeNative(Native Method)
04-06 07:11:21.321: E/AndroidRuntime(2288): at java.lang.reflect.Method.invoke(Method.java:511)
04-06 07:11:21.321: E/AndroidRuntime(2288): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-06 07:11:21.321: E/AndroidRuntime(2288): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-06 07:11:21.321: E/AndroidRuntime(2288): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:0)
defaultConfig { ...
ndk {
abiFilters "armeabi-v7a", "x86", "armeabi", "mips"
}
} 您需要将此过滤器(abiFilters)添加到应用模块的build.gradle文件中。因此,当您的设备尝试运行您的应用程序时,它将检查gradle文件并了解它不应生成任何文件夹并使用现有的本机库资源。繁荣。差不多解决了。但是还有一件事。
android.useDeprecatedNdk = true
将此行添加到gradle.properties中以使用已弃用的Ndk。
有关更多详细信息,请检查链接 https://medium.com/mobiwise-blog/unsatisfiedlinkerror-problem-on-some-android-devices-b77f2f83837d