我已经创建了一个应用程序,它将是一个系统应用程序。 当我正常安装应用程序时(不是作为系统应用程序)“.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/