【发布时间】:2019-10-26 07:24:51
【问题描述】:
我正在尝试将我的应用从单一 APK 迁移到 app bundle 格式。我需要为exec() 调用设置LD_LIBRARY_PATH 环境变量,因此我需要本地库的位置。使用原始 APK 我会调用 getApplicationInfo().nativeLibDir 并且库就在那里。
对于应用程序包,它们不是。 我可以看到安装了正确的 abi split APK,但由于某种原因,这些库没有被提取。
我已尝试使用bundletool 并通过 Google Play 安装,
尝试运行'ls -alR',我可以清楚地看到目录存在以及拆分的apk,但库根本没有被提取。我想我可以手动提取它们作为一种解决方法,但这似乎没有必要..?
这是ls在nativeLibPath的父文件夹上的输出
genLibraryPath: Dir Contents: /data/app/com.unseenonline-raAFLhJMQpjqWkVdG1Vocg==:
total 16704
drwxr-xr-x 4 system system 4096 2019-06-11 12:41 .
drwxrwx--x 114 system system 12288 2019-06-11 12:41 ..
-rw-r--r-- 1 system system 5688352 2019-06-11 12:41 base.apk
drwxr-xr-x 3 system system 4096 2019-06-11 12:41 lib
drwxrwx--x 3 system install 4096 2019-06-11 12:41 oat
-rw-r--r-- 1 system system 11226112 2019-06-11 12:41 split_config.arm64_v8a.apk
-rw-r--r-- 1 system system 35636 2019-06-11 12:41 split_config.en.apk
-rw-r--r-- 1 system system 90443 2019-06-11 12:41 split_config.xxhdpi.apk
/data/app/com.unseenonline-raAFLhJMQpjqWkVdG1Vocg==/lib:
total 24
drwxr-xr-x 3 system system 4096 2019-06-11 12:41 .
drwxr-xr-x 4 system system 4096 2019-06-11 12:41 ..
drwxr-xr-x 2 system system 4096 2019-06-11 12:41 arm64
/data/app/com.unseenonline-raAFLhJMQpjqWkVdG1Vocg==/lib/arm64:
total 16
drwxr-xr-x 2 system system 4096 2019-06-11 12:41 .
drwxr-xr-x 3 system system 4096 2019-06-11 12:41 ..
如您所见,拆分后的 apk 存在,但未提取库。
应将库提取到与原始 apk 相同的位置
【问题讨论】:
标签: android android-studio android-ndk android-app-bundle