nam*_*uol 9 java-native-interface android android-ndk
我有一个libs像这样的文件夹结构的android项目:
/libs
/armeabi
libfoo.so
libbar.so
libmystuff.so
libgnustl_shared.so
/armeabi-v7a
libfoo.so
libbar.so
Run Code Online (Sandbox Code Playgroud)
foo并且bar是第三方库,mystuff是我自己的库,来自一个单独的Android JNI项目,它需要gnustl_shared来自同一个JNI项目.
当我在Eclipse中构建项目时,我可以使用查看生成的APK的内容unzip -l,它确实显示所有这些库文件都已包含在内.
但是,安装APK后,即使其他库存在,该/data/data/com.myproject/lib文件夹也不包含libgnustl_shared.so.
这不可避免地导致以下错误:
UnsatisfiedLinkError: Couldn't load gnustl_shared: findLibrary returned null
Run Code Online (Sandbox Code Playgroud)
作为一个完整性检查,我运行adb push ./libs/armeabi/libgnustl_shared.so /data/data/com.myproject/lib并且确定,应用程序按预期启动.
我没有在构建日志或Eclipse控制台中看到任何建议构建或安装应用程序的任何问题.
libgnustl_shared.so我的应用程序安装?如果我能提供任何可能有用的具体信息,请在评论中告诉我.
我认为你的libgnustl_shared.so需要在/armeabi-v7a下而不是在/armeabi下
请尝试将libgnustl_shared.so复制到/armeabi-v7a
| 归档时间: |
|
| 查看次数: |
9535 次 |
| 最近记录: |