在aab盛行的年代,一个应用已经不单单对应一个apk文件了,经常是两个,或是多个。
在设备上安装一个应用后,安装时的apk文件都是会存储在手机里的。不知道做没做过这样的需求,就是反编译别人apk,看看里面都有些什么,图片资源也好,库文件也罢。
adb导出apk
1 | 如果不知道完整的包名,就先这样过滤出目标包名 |
拿到apk文件了,就可以做想做的事了,比如用jadx反编译。
另外,这个文件的位置,通过package manager也可以得到,代码如下:
1 | PackageManager pm = getPackageManager(); |
adb安装多apk
安装单个apk
1 | adb install xxx.apk |
安装多个apk
1 | adb install-multiple 1.apk 2.apk 3.apk |
题外话
终端窗口直接执行adb命令,会显示出命令介绍,不难发现它有三个安装命令,
1 | adb |
除了install和install-multiple,还有个install-multi-package命令。
install和install-multiple都是安装单应用的,一个对应单apk,一个是多apk。而install-multi-package命令是安装多应用,意思就是一次同时安装多个应用。你可能会想,怎么会需要一次安装多个应用呢,平常不都是单个开发的吗?
有些需求吧,直到你遇到前你都不会相信:原来还真的会有这样的需求啊~
我是真的遇到了,所以顺便提一提。另外还有,不是所有版本的设备都支持这个命令,在不支持的设备上执行后就会报错,不用深究,换个测试机就可以。