adb卸载和安装系统应用

卸载系统应用

1.先把原来已经存在的相同包名的APK删除

adb root

adb disable-verity

adb reboot 重启设备 

adb root
adb remount    提示remount succeeded 表示成功
adb shell 
su
cd  /system/app
rm -r test    注释:(test 对应相应的apk文件夹  或者是test.apk对应的apk)

2.将data/data/目录下该应用的包名的目录删除掉

adb shell rm -rf data/data/com.example.test/    注释:如果已经进入adb shell  前面不再需要输入adb shell

3.重启

reboot   或者 adb reboot

 

注释:需要有root权限才可以删除系统应用,如果不开始输入adb root 和adb disable-verity和adb remount  在删除应用包或者文件时会提示Read-only file system  无法删除app下的apk对应的文件和文件夹

 

安装系统应用

adb root
adb remount    提示remount succeeded 表示成功

adb push **.apk /system/app  

adb reboot   重启后会自动安装你上次的应用 (系统应用需要系统签名 https://blog.youkuaiyun.com/xiaoyi_tdcq/article/details/79272047

安装成系统应用后在运行时不会需要再去弹出申请权限,桌面无法卸载  ,系统应用有静默安装权限 

<think>好的,我现在需要帮用户解决如何通过ADB命令卸载并重新安装应用的问题。首先,我得回想一下用户提供的引用内容,看看有没有相关的信息。引用[1]提到使用`adb shell pm uninstall -k --user 0 app包名`来卸载应用但保留用户数据。引用[2]则提到对于系统应用需要root权限,删除APK文件。引用[3]提到安装多个APK文件的方法。 用户的问题包括卸载重新安装,所以需要分步骤处理。首先,卸载应用,可能需要区分普通应用系统应用。普通应用可以直接用uninstall命令,而系统应用可能需要root。但用户可能没有root权限,所以需要说明两种情况。 然后,重新安装应用的话,应该使用`adb install`命令。但如果是系统应用,可能需要先重新挂载系统分区为可写,这需要root。不过根据引用[2],如果应用已经被卸载但APK还在系统分区,可能需要替换或重新安装。另外,引用[3]提到安装多个APK的情况,但用户的问题可能只需要单个APK的安装。 需要注意是否需要保留数据,用户可能想卸载后重装但保留数据,所以卸载时使用`-k`选项。但重新安装时,如果应用系统应用,可能需要push到系统目录,这时候可能需要root权限。但用户可能没有root,所以可能需要使用其他方法,比如安装到用户空间。 此外,用户可能遇到安装失败的情况,比如签名冲突,这时候需要卸载应用,可能需要完全卸载而不仅仅是禁用。但根据引用[2],普通用户可能无法完全卸载系统应用,只能禁用或使用`pm uninstall`命令。 所以整理步骤应该是: 1. 卸载应用- 普通应用:`adb uninstall -k 包名`(保留数据)或不用`-k`。 - 系统应用:可能需要root,或者使用`pm uninstall --user 0`,但可能只是禁用。 2. 重新安装- 普通应用:`adb install path.apk` - 系统应用:可能需要root,push到/system/app,然后重启。 还需要注意事项,比如启用USB调试,包名获取方法(如使用`pm list packages`),以及安装时的常见错误处理,如INSTALL_FAILED_UPDATE_INCOMPATIBLE,可能需要先完全卸载。 另外,引用[3]提到的install-multiple可能不适用于普通情况,但可以提一下。用户的问题可能主要关注单个APK的安装,所以重点放在基本命令上。 最后,生成相关问题需要考虑用户可能的后续疑问,比如如何获取包名,处理安装失败,或者恢复已卸载系统应用等。</think>### 使用ADB命令卸载并重新安装应用的步骤 #### 一、卸载应用 1. **普通应用卸载**(保留用户数据) 使用`-k`参数保留应用数据缓存目录: ```bash adb shell pm uninstall -k --user 0 <应用包名> ``` 例如卸载微信:`adb shell pm uninstall -k --user 0 com.tencent.mm`[^1]。 2. **系统应用卸载**(需Root权限) 若应用系统预装且无法通过常规命令卸载,需Root后删除系统分区中的APK文件: ```bash adb shell su -c "rm /system/priv-app/<应用目录>/<应用名.apk>" ``` 操作后需重启设备生效[^2]。 #### 二、重新安装应用 1. **普通APK安装** 使用`adb install`命令安装本地APK文件: ```bash adb install /path/to/app.apk ``` 2. **系统应用重新安装**(需Root权限) 将APK文件推送至系统应用目录并设置权限: ```bash adb push /path/to/app.apk /system/priv-app/<应用目录>/ adb shell chmod 644 /system/priv-app/<应用目录>/app.apk ``` 完成后重启设备[^3]。 #### 三、关键注意事项 - **包名获取**:通过`adb shell pm list packages`列出所有应用包名。 - **安装冲突**:若提示`INSTALL_FAILED_UPDATE_INCOMPATIBLE`,需先完全卸载旧版本(去掉`-k`参数)。 - **系统分区只读**:未Root的设备无法直接修改系统分区,需通过`adb remount`挂载为可写(需解锁Bootloader)。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值