我为我的 rom 开发了一个系统应用程序,其中包括一些本机库。我在下面尝试过:
不要将此本机库复制到 /system/lib 中,而是将其放在 apk 中。在这种情况下,库不会在系统启动时复制到 /data/data/xxxx/lib 并且我的应用程序将无法运行,因为找不到库。( PackageManagerService.java 3301 注意:我们不想为系统应用程序解压缩本机二进制文件,除非它们已经更新(二进制文件已经在 /system/lib 下)。换句话说,我们将解压缩二进制文件仅适用于非系统应用和系统应用升级。)
将此库复制到 /system/lib。我的应用程序首先运行正确,但是当我升级它时,新版本的库将在启动时复制到 /data/data/xxxx/lib。但是由于 android 会在 /data/data/xxx/lib(在 DexClassLoader::findLibrary 中)之前在 /system/lib 中查找库,因此总是会加载旧版本的库。这意味着我将无法升级本机库。
所以我该怎么做?谢谢