adb 禁用手机系统的更新

云真机的平台的android手机设备,有的时候会出现被测试人员误操作而导致手机系统被升级的情况,所以专门去网上了解了下,如何通过adb的方式禁用系统的升级以及升级弹窗

华为

adb shell pm disable-user com.huawei.android.hwouc 

adb shell pm enable com.huawei.android.hwouc

vivo

adb shell pm disable-user com.bbk.updater
adb shell pm enable com.bbk.updater

荣耀

荣耀的手机设置可能有些会与华为手机的命令一直,这个需要自己尝试下才能判断出来

adb shell pm disable-user com.hihonor.ouc
adb shell pm enable com.hihonor.ouc

小米

小米的有点不太一样,小米的限制只要是从下载路径上做一定的限制,由于小米下载的rom包会根目录的downloaded_rom 下,或者说是Downloaddownloaded_rom 下。所以我们只要随便找一个文件(文件,不是文件夹),重名为downloaded_rom(是把一个文件重命名),这样系统后台偷偷下载时,就不知道该存放更新包的文件,就无法下载成功了。

OPPO

oppo的手机试了网上说到的 disable-user + 包名的方式,并不能够生效,所以它的处理方式是最强硬的。直接卸载掉对应的ota的包。

pm uninstall --user 0 com.oppo.ota
<think>嗯,用户的问题是关于在小米手机上使用ADB命令删除相册照片时遇到权限被阻止的问题。我需要先理解这个问题的具体情况,然后根据已有的引用资料和ADB的相关知识来寻找解决方案。 首先,用户提到的是使用ADB命令删除相册照片时权限被阻止。根据引用资料中的信息,ADB命令通常用于卸载或停用系统应用,例如引用[1]和[2]中提到使用`adb shell pm uninstall --user 0`来卸载预装应用。但删除照片可能涉及到文件系统的直接操作,而不仅仅是包管理。这可能意味着用户尝试使用ADB的shell命令直接删除文件,但权限不足。 接下来,我需要考虑小米手机的权限设置。MIUI系统可能对访问相册目录有更严格的权限控制,尤其是在Android 10及以上版本中,作用域存储(Scoped Storage)限制了应用对公共目录的直接访问。即使用户使用ADB,普通shell权限可能不足以访问`/sdcard/DCIM`这样的目录,因为这些目录属于媒体存储,需要特定的权限或身份。 然后,可能的解决方案包括: 1. **启用USB调试(安全设置)**:有些小米手机需要额外的授权,比如在开发者选项中开启“USB调试(安全设置)”,允许通过ADB进行文件修改。引用[3]提到使用ADB需要谨慎,但未直接提到这个设置,可能需要用户检查开发者选项中的相关选项。 2. **提升ADB权限**:可能需要root权限,但用户提到不想root,所以可能需要其他方式。比如使用`adb shell`进入后尝试`su`,但非root手机可能无法获取超级用户权限。或者使用`run-as`命令,但仅限于调试应用。 3. **使用`pm`命令停用媒体存储应用**:但这样可能影响整个媒体扫描功能,不是理想的解决方案。 4. **使用`content`命令**:Android提供了`content`命令通过ContentProvider删除媒体文件,这可能绕过直接文件操作,需要媒体库的权限。例如`adb shell content delete --uri content://media/external/images/media --where "_data='/sdcard/DCIM/Camera/photo.jpg'"`。这种方法可能有效,因为通过ContentProvider删除会触发媒体存储的更新,同时不需要直接的文件系统权限。 5. **使用`cmd`命令授予权限**:在Android 11及以上,可以通过`adb shell appops`或`pm grant`来授予应用权限,但需要知道相册应用的包名和对应的权限。例如,媒体读写权限是`android.permission.READ_MEDIA_IMAGES`和`android.permission.WRITE_MEDIA_IMAGES`,可能需要授予给ADB shell进程或相关应用。 6. **检查是否启用了MIUI优化**:MIUI的优化可能会限制ADB的某些操作,关闭它可能解决问题。 7. **使用第三方文件管理工具**:比如引用[1]提到的Es文件管理器,结合ADB,或者通过ADB安装具有权限的应用来删除照片。 接下来,需要验证这些方法的可行性。例如,使用`content delete`命令需要正确的URI和where条件,用户需要知道具体文件的路径。另外,授予权限可能需要应用签名或系统权限,普通ADB可能无法做到,除非有更高级的授权。 综上,最可能的解决方案是使用`content`命令或者检查USB调试的安全设置,同时确保ADB有足够的权限。此外,可能需要用户确认文件路径的正确性和是否启用了必要的开发者选项。</think>### 逐步解答 在小米手机上通过ADB删除相册照片时遇到权限问题,通常是由于系统对媒体文件访问的限制或ADB权限不足导致。以下是分步解决方案: --- #### **步骤1:启用完整ADB文件操作权限** 1. **开启开发者选项**:进入手机设置 > 关于手机 > 连续点击“MIUI版本”7次,直到提示开发者模式已开启。 2. **启用USB调试**:进入设置 > 更多设置 > 开发者选项 > 开启“USB调试”和**USB调试(安全设置)**[^1]。 3. **连接电脑并授权**:使用USB连接手机,在弹窗中选择“允许调试”。 --- #### **步骤2:通过ADB ContentProvider删除照片(推荐)** 直接操作文件系统(如`adb shell rm /sdcard/DCIM/...`)可能被系统阻止。建议通过Android的媒体库接口删除: ```bash adb shell content delete --uri content://media/external/images/media --where "_data='/sdcard/DCIM/Camera/photo.jpg'" ``` - **说明**:此命令通过系统ContentProvider删除文件,绕过了直接文件操作权限限制[^2]。 --- #### **步骤3:检查MIUI优化限制** 1. 进入手机设置 > 开发者选项 > 关闭**MIUI优化**(部分机型需重启生效)。 2. 重新尝试删除操作。 --- #### **步骤4:使用`pm grant`授予权限** 如果目标应用(如相册)包名已知,可尝试授予读写权限: ```bash adb shell pm grant com.miui.gallery android.permission.WRITE_MEDIA_IMAGES ``` - **注意**:需替换`com.miui.gallery`为实际包名,且该命令可能因系统限制失败。 --- #### **步骤5:强制卸载媒体存储缓存** 若文件残留但不可见,可尝试重置媒体数据库: ```bash adb shell rm -rf /sdcard/Android/data/com.android.providers.media adb reboot ``` - **警告**:此操作会清除媒体缓存,重启后系统将重新扫描文件。 --- ### 关键问题排查 1. **ADB权限不足**:确保开发者选项中“USB调试(安全设置)”已开启[^3]。 2. **文件路径错误**:使用`adb shell ls /sdcard/DCIM`确认路径正确性。 3. **系统版本限制**:Android 11+的Scoped Storage会限制直接文件访问,优先使用`content`命令。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值