adb 安装/卸载应用

举报
林欣 发表于 2025/07/21 11:20:03 2025/07/21
【摘要】 在 Android 调试中,使用 adb(Android Debug Bridge)安装或卸载应用是常见操作。以下是详细步骤和注意事项: 一、安装应用(APK 文件) 基本命令adb install [选项] <apk文件路径> 常用选项普通安装adb install app.apk若应用已存在,会报错:Failure [INSTALL_FAILED_ALREADY_EXISTS]。覆盖安装...

在 Android 调试中,使用 adb(Android Debug Bridge)安装或卸载应用是常见操作。以下是详细步骤和注意事项:


一、安装应用(APK 文件)

基本命令

adb install [选项] <apk文件路径>

常用选项

  1. 普通安装

    adb install app.apk
    
    • 若应用已存在,会报错:Failure [INSTALL_FAILED_ALREADY_EXISTS]
  2. 覆盖安装(保留数据)

    adb install -r app.apk
    
    • -r 表示替换现有应用,保留用户数据和缓存。
  3. 快速安装(跳过缓存优化)

    adb install -t app.apk
    
    • -t 允许测试包(Test Packages)安装,常用于调试。
  4. 安装到特定设备(多设备时)

    adb -s <设备序列号> install app.apk
    
    • 通过 adb devices 查看设备序列号。
  5. 安装到 SD 卡(需设备支持)

    adb install -s app.apk
    
    • -s 表示安装到 SD 卡(部分设备可能忽略此选项)。

常见错误

  • INSTALL_FAILED_UPDATE_INCOMPATIBLE
    应用签名不匹配,需先卸载旧版本:

    adb uninstall <包名>
    adb install app.apk
    
  • INSTALL_FAILED_VERSION_DOWNGRADE
    尝试降级安装,需添加 -d 允许降级:

    adb install -r -d app.apk
    

二、卸载应用

基本命令

adb uninstall <包名>
  • 包名可通过以下方式获取:
    • 查看 APK 的 AndroidManifest.xml 中的 package 属性。
    • 通过 adb shell pm list packages 列出所有包名。

示例

adb uninstall com.example.app

保留数据卸载

adb uninstall -k <包名>
  • -k 表示保留应用数据和缓存目录(/data/data/<包名>)。

三、其他实用命令

  1. 查看已安装应用列表

    adb shell pm list packages
    
    • 过滤特定应用:
      adb shell pm list packages | grep "example"
      
  2. 清除应用数据

    adb shell pm clear <包名>
    
  3. 查看 APK 安装路径

    adb shell pm path <包名>
    
  4. 从设备拉取 APK

    adb pull $(adb shell pm path <包名> | cut -d: -f2) ./app.apk
    

四、注意事项

  1. 设备连接

    • 确保设备已启用 USB 调试(开发者选项中开启)。
    • 通过 adb devices 确认设备已连接。
  2. 权限问题

    • 部分操作需要 root 权限(如访问系统应用目录)。
  3. 签名验证

    • 覆盖安装时,新 APK 必须与旧版本签名一致(除非使用 -d 降级)。
  4. 系统应用

    • 卸载系统应用需谨慎,可能导致设备不稳定:
      adb shell pm uninstall --user 0 <包名>
      

五、完整流程示例

  1. 安装应用

    adb install -r -t app-debug.apk
    
  2. 卸载应用

    adb uninstall com.example.app
    
  3. 验证安装状态

    adb shell pm list packages | grep "com.example.app"
    

通过以上命令,你可以高效地管理 Android 设备上的应用。遇到问题时,可通过 adb logcat 查看详细日志。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。