【发布时间】:2014-01-21 06:54:37
【问题描述】:
我创建了一个应用程序,它将是一个系统应用程序。 当我正常安装应用程序(不是系统应用程序)时,“.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 文件推送到
/system/lib/后,您是否尝试重新启动目标? -
是的,我做到了。但得到同样的错误。此路径返回 null。有没有办法可以将路径设置为环境变量,以便完成这件事?我在应用程序的“libs/armeabi”、“libs/armeabi-v71”和“x86”目录中也有 .so 文件。
-
@shoerat,我解决了这个问题。
标签: java android java-native-interface shared-libraries jnienv