Android NDK:dlopen失败:找不到符号“__gnu_thumb1_case_uqi”

时间:2014-03-18 12:06:53

标签: android android-ndk

我的NDK游戏在调试模式下运行良好,但在发布时崩溃,并在Nexus 7上显示以下日志:

E dalvikvm: dlopen("/data/app-lib/com.js.pathoflight-1/libPathOfLight.so") failed: dlopen failed: cannot locate symbol "__gnu_thumb1_case_uqi" referenced by 
"libPathOfLight.so"...  
W dalvikvm: Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/js  /pathoflight/JSNativeActivity;  
W dalvikvm: Class init failed in newInstance call (Lcom/js/pathoflight/JSNativeActivity;)  
D AndroidRuntime: Shutting down VM  
W dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41b01700)  
E AndroidRuntime: FATAL EXCEPTION: main  
E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol   "__gnu_thumb1_case_uqi" referenced by "libPathOfLight.so"...  
E AndroidRuntime:   at java.lang.Runtime.loadLibrary(Runtime.java:361)  
E AndroidRuntime:   at java.lang.System.loadLibrary(System.java:525)  
E AndroidRuntime:   at com.js.pathoflight.JSNativeActivity.<clinit>(JSNativeActivity.java:59)  
E AndroidRuntime:   at java.lang.Class.newInstanceImpl(Native Method)    
E AndroidRuntime:   at java.lang.Class.newInstance(Class.java:1130)  
E AndroidRuntime:   at android.app.Instrumentation.newActivity(Instrumentation.java:1061)  
E AndroidRuntime:   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)  
E AndroidRuntime:   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)  
E AndroidRuntime:   at android.app.ActivityThread.access$600(ActivityThread.java:141)
E AndroidRuntime:   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
E AndroidRuntime:   at android.os.Handler.dispatchMessage(Handler.java:99)  
E AndroidRuntime:   at android.os.Looper.loop(Looper.java:137)  
E AndroidRuntime:   at android.app.ActivityThread.main(ActivityThread.java:5103)  
E AndroidRuntime:   at java.lang.reflect.Method.invokeNative(Native Method)  
E AndroidRuntime:   at java.lang.reflect.Method.invoke(Method.java:525)  
E AndroidRuntime:   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)  
E AndroidRuntime:   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)  
E AndroidRuntime:   at dalvik.system.NativeStart.main(Native Method)  
W ActivityManager:   Force finishing activity com.js.pathoflight/.JSNativeActivity

我会感激任何建议。

1 个答案:

答案 0 :(得分:2)

在删除代码的不同部分时,我发现问题出现在我使用的第三方库中 我将其用法从“gnustl_static”版本(.a)更改为“gnustl_shared”(。so)一,问题就消失了!