Issue
I'm working on an android app with 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) and both base
and feature
apks were installed and located in
/data/app/example.dynapp--Gn1-FdAo0qV-8Y8Q5qb7g==/base.apk
/data/app/example.dynapp--Gn1-FdAo0qV-8Y8Q5qb7g==/feature.apk
I found these addresses by running
adb shell pm path example.dynapp
Then I uploaded the app bundle on Play Console and installed it from Google Play on my phone. Next, I downloaded the feature
module when I was using the app. However, after I run adb shell pm path example.dynapp
it only shows the base
apk and there is no sign for feature
apk. By the way,
it seems the feature
module is installed since the functionality of feature
module works correctly.
My question is where does Google Play keep these dynamic loaded modules (or APKs). And is there any way to access them using adb
(such as adb pull
).
Solution
it stores it in application dir.
like this:
/data/data/com.myapp.mypackage/files/splitcompat/1400191/verified-splits/kotlin.config.xxhdpi.apk
obviously, 1400191 changes.
In order to locate your apk files which are downloaded, you could probably run the linux command on the device to find them:
find / -name *.xxhdpi.apk
or even better:
find /data/data/com.myapp.mypackage -name *.xxhdpi.apk
Note: you need to run these after 'adb shell', after that, you need to run as your application. If you have a rooted device, then typing 'su' will be sufficient after 'adb shell'.
Answered By - Caner Kaya
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.