java+整合handwrite_解决java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad
我們?cè)诩虞dJNI的.so庫(kù)的時(shí)候,Android Studio報(bào)類的錯(cuò)誤“java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad”,該如何解決呢?具體錯(cuò)誤內(nèi)容如下:
java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/com.tpyyes.shouxie-8br8qobG6_OylT-eZqypJg==/base.apk!/lib/armeabi-v7a/libdwEngineHw.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:1071)
at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
at java.lang.System.loadLibrary(System.java:1668)
at com.tpyyes.wwengine.hw.WWHandWrite.(WWHandWrite.java:26)
at com.tpyyes.shouxie.MainActivity.hwinit(MainActivity.java:107)
at com.tpyyes.shouxie.MainActivity.onCreate(MainActivity.java:67)
at android.app.Activity.performCreate(Activity.java:8121)
at android.app.Activity.performCreate(Activity.java:8109)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1320)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3867)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4077)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2458)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:219)
at android.app.ActivityThread.main(ActivityThread.java:8375)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)
當(dāng)然了,我們都知道我們錯(cuò)誤的代碼是出在loadLibrary這一句了:static?{
System.loadLibrary("dwEngineHw");
}
錯(cuò)誤分析一:
1:出現(xiàn)這個(gè)錯(cuò)誤的問(wèn)題,是因?yàn)槲覀僱oadLibrary這一句代碼所在的路徑放置不對(duì),例如小編的項(xiàng)目路徑如下:
我是放在src/java/com/tpyyes這個(gè)包下面的,Android Studio運(yùn)行時(shí)就會(huì)造成“java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad”這種錯(cuò)誤。
解決方式:
將wwengine這里面的java類托到src/java/com這個(gè)包下,與tpyyes這個(gè)包同級(jí)即可,如圖所示:
錯(cuò)誤分析二及其解決方案:
有些人說(shuō)是因?yàn)樵赼pp/build.gradle下加入這一串代碼即可:sourceSets?{
main?{
jniLibs.srcDirs?=?['src/main/libs']
}
}
這個(gè)確實(shí)必須要加入,不加入這幾行代碼,就會(huì)報(bào)“java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList”錯(cuò)誤,但是仔細(xì)看會(huì)發(fā)現(xiàn)它的錯(cuò)誤內(nèi)容和上面是不一樣的,不是小編標(biāo)題所要解決的內(nèi)容。
來(lái)源網(wǎng)站:太平洋學(xué)習(xí)網(wǎng),轉(zhuǎn)載請(qǐng)注明出處:http://www.tpyyes.com/a/android/1062.html
總結(jié)
以上是生活随笔為你收集整理的java+整合handwrite_解决java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 13攻击行为是天生的
- 下一篇: Eclipse ADT环境、Androi