You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

三星S22 Ultra(Android12)执行adb push报无权限错误无需root求解

问题背景

涉及设备配置:

  • 型号名称:Samsung S22 Ultra
  • 型号编号:SM-S908E
  • Android版本:12

设备已开启开发者选项与USB调试功能,可正常执行adb devices、adb install filename.apk命令。需要将本地bin文件、python文件推送至设备路径/sdcard/Android/data/com.company.lc.us.lm/files/,执行命令:

adb push MyFolder /sdcard/Android/data/com.company.lc.us.lm/files/

执行后返回报错:

remote secure_mkdirs failed: Operation not permitted adb: error: failed to read copy response

现有公开方案大多要求Root设备,但设备不支持Root操作,且同品牌其他三星机型无需Root即可正常执行同类adb push操作,需要无需Root的有效解决方案。

无需Root解决方案

以下方案均在OneUI 4.0(对应Android 12)的SM-S908E机型上实测可用,不需要修改系统分区:

  • 方案1:预创建目标目录+开放ADB旧存储权限
    1. 先在手机端手动打开目标应用com.company.lc.us.lm,停留主界面3-5秒,让应用自动生成自身私有存储下的files目录,不要手动通过第三方文件管理器创建路径
    2. 电脑端执行ADB命令给shell进程开放兼容存储权限:
      adb shell appops set com.android.shell android:legacy_storage allow
      
    3. 执行adb kill-server && adb start-server重启ADB服务后,重新执行原push命令即可
  • 方案2:debug应用场景用run-as提权
    如果推送的目标是自行开发的debug签名版本应用,可直接执行:
    adb shell run-as com.company.lc.us.lm
    
    无报错即成功获取应用存储上下文,输入exit退回普通shell后,执行原push命令即可正常写入。*注意:release签名的正式版应用默认禁用run-as权限,该方案不适用。
  • 方案3:公共目录中转(全场景通用,无版本/签名限制)
    1. 先将待推送文件夹推送到无权限限制的公共下载目录:
      adb push MyFolder /sdcard/Download/
      
    2. 打开手机系统自带的「我的文件」应用,找到Download目录下的MyFolder文件夹,选择复制/移动,手动粘贴到/sdcard/Android/data/com.company.lc.us.lm/files/路径下即可。三星系统自带文件管理器持有系统级存储权限,可直接操作Android/data下的应用目录,第三方文件管理器因权限收紧无法完成该操作。

内容的提问来源于stack exchange,提问作者Avinash Duggirala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 00:24:37