Android 在哪里存储动态模块 APK?

Where does Android store dynamic module APKs?

我正在使用 dynamic modules. Let assume there is one base module (base) and one dynamic module (feature). I installed the app using Android Studio (or bundle tool) 开发 android 应用程序,并且 basefeature apks 都安装并位于

/data/app/example.dynapp--Gn1-FdAo0qV-8Y8Q5qb7g==/base.apk
/data/app/example.dynapp--Gn1-FdAo0qV-8Y8Q5qb7g==/feature.apk

我通过 运行ning

找到了这些地址
adb shell pm path example.dynapp

然后我将应用程序包上传到 Play 管理中心并从 Google Play 安装到我的 phone。接下来,我在使用该应用程序时下载了 feature 模块。但是,在我 运行 adb shell pm path example.dynapp 之后它只显示 base apk 而没有 feature apk 的迹象。顺便一提, feature 模块似乎已安装,因为 feature 模块的功能正常工作。

我的问题是 Google Play 在哪里保存这些动态加载的模块(或 APK)。有什么方法可以使用 adb(例如 adb pull)访问它们。

它存储在应用程序目录中。

像这样:

/data/data/com.myapp.mypackage/files/splitcompat/1400191/verified-splits/kotlin.config.xxhdpi.apk

显然,1400191 发生了变化。

为了找到您下载的 apk 文件,您可能可以 运行 在设备上使用 linux 命令来找到它们:

find / -name *.xxhdpi.apk

甚至更好:

find /data/data/com.myapp.mypackage -name *.xxhdpi.apk 

注意:您需要运行这些在'adb shell'之后,之后,您需要运行作为您的申请。 如果您有 root 设备,那么在 'adb shell'.

之后输入 'su' 就足够了