android debug bridge 安卓调试桥
adb start-server
:开启 adb 服务
adb kill-server
:杀死 adb 服务
adb:reset adb
:重启 adb
adb uninstall [-k] + 包名
:卸载应用,-k 只删除程序,不删除所用数据与缓存目录
adb uninstall --user 0 + 包名
:root 权限卸载软件
adb install [-r] [-s] [-d] + apk 所在路径
:安装应用,-r 重新安装,-s 安装到 sd 卡,,-d 允许降级覆盖安装
adb push 本地地址 sdcard/
:上传到手机
adb pull 地址
:从手机拉下来
adb shell
:进入设备的命令行
adb devices
:列出所有链接的设备
问题 1
问题:安装 apk 出现 Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI] 错误
Android Studio 3.0 会在 debug apk 的 manifest 文件 application 标签里自动添加 android:testOnly="true"
属性,导致 IDE 中 run 跑出的 apk 在大部分手机上只能用 adb install -t <apk>
来安装
解决:在 gradle.properties (项目根目录或者 gradle 全局配置目录) 文件中添加 android.injected.testOnly=false
问题 2
问题:安装新版本 apk,签名不匹配,卸载旧版本的时候提示 Failure [DELETE_FAILED_INTERNAL_ERROR]
解决方法:
// 找到要删除的包名
adb shell pm list packages -s 包名
// 获取包名的地址:
adb shell pm path com.xx.xx
// 挂载系统读写权限
adb remount
// 将/system分区重新挂载为可读写分区
mount -o remount rw /system
// 删除包
adb shell rm /system/app/OldDriver/OldDriver.apk
// 删除与包相关的所有数据,清除数据和缓存
adb shell pm clear <PACKAGE>
// 重启
adb reboot
// 安装新包
adb install 包名