java - 制作系统应用时无法加载.so库文件

标签 java android java-native-interface shared-libraries jnienv

我已经创建了一个应用程序,它将是一个系统应用程序。 当我正常安装应用程序时(不是作为系统应用程序)“.so”文件正在加载。但是当我通过将 apk 放入/system/app/使其成为系统应用程序时 , 我收到以下错误

01-09 00:20:26.889: E/AndroidRuntime(2101): java.lang.UnsatisfiedLinkError: Couldn't load iconv from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/com.google.android.maps.jar", zip file "/system/app/My.apk"],nativeLibraryDirectories= [/vendor/lib, /system/lib]]]: findLibrary returned null

我对此所做的研究-

“.o”和“.so”文件似乎位于/system/lib/和/vendor/lib/中。

即使将文件添加到相应目录后,仍然无法加载库。

如有任何帮助,我们将不胜感激。

最佳答案

在我的案例中,问题与权限有关。将“.SO”文件放入相应目录后,我将默认分配的权限从 600 修改为 755。效果很好。

关于java - 制作系统应用时无法加载.so库文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20906445/

相关文章:

java - 类中类

java - eclipse 调试变量导出或打印

android - 快速小巧的离线 Android PDF-Viewer

java - 相机崩溃 : Fatal signal 6 (SIGABRT) with JNI code

java - 即使坏人试图捕获它,我如何在任何 OutOfMemoryException 上使 JVM 退出

java - 使用 gradle/maven 工具运行最新的 Equinox

android - 截取布局屏幕截图,WebView 在其中不可见

android - 如何获取用户的电话名称(不是电子邮件)

java - 为什么我不应该在 JNI 中重用 jclass 和/或 jmethodID?

java - 未编译 "base operand of ‘->’ 的 JNI IMU 代码具有非指针类型 ‘JNIEnv’“