android 9.0 remount方法

本文介绍了解决Android系统中ADB权限不足导致的remount失败问题的方法,包括使用adb root、disable-verity和reboot等命令。同时,文章还提到了如何查找ADB路径以及处理ADB版本过低的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 遇到adb版本低的问题,但是又找不到系统用的adb在什么地方:
命令行输入which adb,可以看到adb的路径

2 android p 系统无法remount
提示:

remount of the / superblock failed: Permission denied
remount failed

解决方法:

adb root
$ adb disable-verity
$ adb reboot
$ adb root
$ adb remount

adb版本太低的话会报错。

<think>我们正在讨论的是如何在Android9.0系统中卸载预装的系统应用。根据提供的引用信息,我们可以总结出以下几点关键信息:1.引用[1]提到,在Android9.0中,可以通过“白名单”机制来控制哪些应用可以被卸载。这通常需要修改系统代码,具体在`PackageManagerService.java`中实现。2.引用[2]指出,在Android9.0上,使用Intent方式卸载应用可能没有反应,这可能是由于系统限制或权限问题。3.引用[4]提到,内置在`vendor/priv-app`目录下的应用可能是系统应用,这些应用默认不可卸载。但通过修改编译时的配置(如将应用放入`vendor/priv-app`目录)可以影响其卸载属性。用户的需求是卸载预装的系统应用。在Android系统中,预装应用分为两类:-用户预装应用:在`/data/app`目录下,用户可以卸载。-系统预装应用:在`/system/app`、`/system/priv-app`、`/vendor/app`、`/vendor/priv-app`等目录下,这些应用通常需要root权限才能卸载。由于用户没有提供设备是否已root,我们需要分两种情况讨论:###方法1:通过系统设置卸载(无需root)部分系统应用(非核心应用)可能允许直接卸载。操作步骤:1.进入“设置”>“应用和通知”>“查看所有应用”。2.找到要卸载的应用,点击进入。3.如果看到“卸载”按钮,则直接卸载;若只有“停用”按钮,则停用(相当于卸载更新并禁用)。###方法2:使用ADB命令卸载(无需root但需要开启USB调试)对于无法直接卸载的应用,可以通过ADB命令卸载(但注意:这并非真正删除,而是卸载用户更新并禁用,或者对部分非核心系统应用可完全卸载)。```bashadbshellpmuninstall-k--user0<package_name>```其中`<package_name>`是要卸载应用的包名。此命令会卸载当前用户(user0)下的应用,但系统分区中的应用仍然存在,只是用户无法使用。###方法3:Root后卸载(彻底删除)需要设备已root,然后使用Root文件管理器或Root卸载工具删除系统分区中的应用。步骤:1.安装Root文件管理器(如SolidExplorer)或Root卸载工具(如SystemAppRemover)。2.挂载系统分区为可读写。3.进入`/system/app`、`/system/priv-app`、`/vendor/app`、`/vendor/priv-app`等目录,删除对应的应用文件夹。4.重启设备。###注意事项-卸载系统应用可能导致系统不稳定,请谨慎操作。-在Android9.0上,使用Intent卸载(引用[2]的方法)可能无效,因为系统限制了卸载系统应用。###引用说明根据引用[1]和[4],系统通过`PackageManagerService.java`控制应用卸载。如果设备是定制系统(如厂商允许卸载某些系统应用),则可能在设置中提供卸载选项。否则,普通用户无法卸载核心系统应用。§§相关问题§§1.如何获取Android系统应用的包名?2.使用ADB卸载系统应用后如何恢复?3.卸载系统应用有哪些风险?4.如何判断一个系统应用是否可以安全卸载?</think>### 如何在 Android 9.0 中卸载系统自带应用 在 Android 9.0 中卸载预装系统应用需要根据应用类型采取不同方法: #### 一、可卸载的普通系统应用(无需 root) 1. **常规卸载流程**: ```java // 标准卸载代码(但可能对系统应用无效) Intent intent = new Intent(Intent.ACTION_DELETE); intent.setData(Uri.parse("package:com.example.app")); startActivity(intent); ``` - 部分厂商允许卸载的非核心应用(如预装浏览器)可直接在设置 → 应用 → 卸载 2. **ADB 命令卸载**(需开启 USB 调试): ```bash adb shell pm uninstall --user 0 com.example.packagename ``` - 此命令仅对当前用户禁用应用,不会彻底删除系统文件[^2] #### 二、受保护的系统应用(需 root 权限) 对于核心系统应用(如电话、设置),需要更高权限: 1. **Root 后卸载**: ```bash adb shell su mount -o rw,remount /system pm uninstall -k --user 0 com.example.packagename ``` - 需使用 Magisk 等工具获取 root 权限 - 风险:误删核心应用可能导致系统崩溃[^4] 2. **系统级白名单控制**(需修改系统源码): - 修改位置:`frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java` - 添加卸载白名单逻辑: ```java // 在卸载验证方法中添加白名单检查 if (!uninstallWhitelist.contains(packageName)) { throw new SecurityException("Protected system app"); } ``` - 需重新编译系统镜像[^1][^4] #### 三、厂商定制应用处理 1. **Vendor 分区应用**: ```bash adb shell pm uninstall -k --user 0 com.vendor.app ``` - 路径:`/vendor/priv-app/` 下的应用受额外保护[^4] 2. **禁用替代卸载**: ```bash adb shell pm disable-user com.example.bloatware ``` - 保留应用但隐藏图标和后台运行 #### 注意事项 1. 核心系统组件(如 Phone/Settings)卸载后可能导致系统不稳定 2. Android 9.0 强化了权限控制,普通 Intent 卸载可能无效[^2] 3. 修改系统分区需解锁 Bootloader 并刷入自定义 Recovery 4. 建议优先使用「停用」而非卸载(设置 → 应用 → 禁用) > ⚠️ 重要提醒:操作前务必备份数据,误删关键组件可能需重刷系统[^3]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值