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

Rooted Android 13设备无法读取/data/data/com.packagename目录求助

解决Root设备Android 13读取/data/data指定包目录的问题

先指出你代码里的核心问题,以及Android 13的特殊限制:

  • 多余的su命令:你已经通过Runtime.getRuntime().exec("su")进入root环境,循环里再执行su命令会直接导致执行失败,这是进程返回1的原因之一。
  • 无意义的高风险权限修改:给/、/data加777权限完全没必要,还会破坏系统权限结构,Android 13的SELinux也会直接拦截这类操作。
  • 未捕获错误输出:你只看了进程返回码,没读取错误流,根本没法定位是路径写错还是权限被拦截。

修复后的代码示例

val targetDir = "/data/data/com.packagename"
try {
    val process = Runtime.getRuntime().exec("su")
    val out = DataOutputStream(process.outputStream)
    val errReader = BufferedReader(InputStreamReader(process.errorStream))
    val outputReader = BufferedReader(InputStreamReader(process.inputStream))

    // 先验证目标路径是否存在(排查包名错误)
    out.writeBytes("ls $targetDir\n")
    // Android 13需临时关闭SELinux,否则权限修改会被拦截
    out.writeBytes("setenforce 0\n")
    // 仅修改目标目录权限(用完建议改回默认的700)
    out.writeBytes("chmod 755 $targetDir\n")
    out.writeBytes("exit\n")
    out.flush()

    // 读取命令输出和错误信息,方便调试
    var line: String?
    Log.d("MYAPPINFOTA", "命令输出:")
    while (outputReader.readLine().also { line = it } != null) {
        Log.d("MYAPPINFOTA", line!!)
    }
    Log.d("MYAPPINFOTA", "错误信息:")
    while (errReader.readLine().also { line = it } != null) {
        Log.d("MYAPPINFOTA", line!!)
    }

    val procCode = process.waitFor()
    Log.d("MYAPPINFOTA", "进程返回码: $procCode")

    // 尝试读取目标目录
    val file = File(targetDir)
    if (file.exists()) {
        Log.d("MYAPPINFOTA", "目录存在,文件数量: ${file.listFiles()?.size ?: 0}")
    } else {
        Log.d("MYAPPINFOTA", "目录不存在,请检查包名是否完全正确")
    }
} catch (e: Exception) {
    e.printStackTrace()
}

关键注意事项

  1. 核对包名:提示"文件不存在"大概率是包名拼写错误,先在su环境执行ls /data/data,确认目标应用的包名完全一致。
  2. SELinux处理:Android 13的SELinux强制模式会阻止多数root权限操作,setenforce 0是临时关闭方式,重启后会恢复默认状态。如果只是读取文件,也可以直接在su环境用cat命令读取,不用修改目录权限。
  3. 权限回滚:应用目录默认权限是700,修改完后建议执行chmod 700 $targetDir恢复,避免影响目标应用正常运行。

内容的提问来源于stack exchange,提问作者Ahmad Ali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 06:41:31