android开发的同学有时候会经常需要把本地apk的文件导出,如果手机已经root,那很好办,直接进入到data/app目录下直接拷到SD卡中,然后可以通过各种软件(pp助手,豌豆荚等),但是手机没root的话此路就不通。
这个时候可以用adb来实现,具体步骤如下:
1,获取app的包名
获取包名的方式也有很多种,如果的确不知道最笨的版本是直接列出手机上已经安装应用的packageName,命令为: adb shell pm list packages 。然后根据你要的apk的特征获取到正确的包名。
2,获取app在手机中存储的路径
这个要分手机了,apk安装以后一般会保存在data/app目录下面,保存的文件名一般为cn.xx.xx.xx-1.apk,或者cn.xx.xx.xx-2.apk,所以此时的导出命令为:adb pull data/app/cn.xx.xx.xx-1.apk destination.apk 。或者改成-2,后面的参数表示拷贝出来的apk命名,基本都能解决问题。
但是,小米就是这么牛逼,他的路径不一样,小米的路径为data/app/cn.xx.xx.xx-1/base.apk,小米会在data/app目录下已包名创建文件夹,然后再搞个base.apk,WTF。