首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android chmod 777 失效:/data 分區只讀掛載,需 remount 可寫

     編輯:程式設計疑難解答

現象

APK 放入 /system/app/,pm install 成功,但 Runtime.exec("chmod 777 /data") 失敗。

原因

/data 分區掛載時帶 ro (只讀) 標誌,即便 root 權限也無法修改權限位。Android 系統分區默認只讀保護完整性。

解決

  1. Remount 可寫(需 root):
    mount -o remount,rw /data
    chmod 777 /data
    mount -o remount,ro /data  # 操作完成後恢復只讀
    
  2. 替代目錄:應用數據應存放在 /data/data/pkg.name/ 或 Context.getExternalFilesDir(),無需修改系統分區權限。
  3. SELinux 策略:Android 5.0+ 強制執行 SELinux,單純 chmod 可能仍被策略阻攔,需編譯自定義策略或使用正規存儲 API。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved