从Android手机获取已安装的apk文件

  1. 列出已经连接到电脑的设备,如果设备状态unauthorized,需要在设备上点击同意USB调试,允许电脑访问本设备。
    $ adb devices
    List of devices attached
    0123456789ABCDEF    device
  2. 通过adb shell查找apk文件位置,替换 package name为包名或者application id。
    adb shell pm path <package name>  ## 根据包名查询apk路径
    adb shell pm path com.xxx.test
    package:/data/app/com.xxx.test/base.apk
  3. 如果不知道包名,可以通过 adb shell pm list packages 列出所有包。
  4. /data/app下的文件外部不可读,需要复制到可读写文件夹,例如:/storage/sdcard0/DCIM。执行 adb shell 进入设备
    adb shell
    XXX100:/ $ cp /data/app/com.xxx.test/base.apk /storage/sdcard0/DCIM
    XXX100:/ $ exit
  5. 通过adb pull将apk文件拉取到本地 (注意: 执行adb pull命令时要退出adb shell模式,也就是在windows cmd下执行adb pull
    adb pull /storage/sdcard0/DCIM/base.apk /Users/xxx/Documents/
    /storage/sdcard0/DCIM/base.apk: 1 file pulled. 11.4 MB/s (15350092 bytes in 1.282s)
  6. 连接要安装应用的设备,替换AAABBB123456789adb devices查询到的设备ID
    adb devices
    ## 安装到指定的设备上
    adb -s AAABBB123456789 install -r /Users/xxx/Documents/base.apk
    ## 若只有一个与电脑连接的android设备,则命令中可以不指定设备号
    adb install /Users/xxx/Documents/base.apk

 

Ref: https://www.jianshu.com/p/c1416d21f922

posted @   opencoder  阅读(3886)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示