2016-05-13 43 views
0

我有一個問題編輯libnfc-nxp.conf文件是在\system\etc\下,我得到以下錯誤。格蘭特系統等寫權限的應用程序[打開失敗:EROFS]

/system/etc/libnfc-nxp.conf:打開失敗:EROFS(只讀文件系統)

語境:我有機會獲得AOSP並可以修改OS的一切。 我想開發一個可以修改這個文件的Android應用程序。這個應用程序將在內部使用特定的ENG OS版本。

因此,我知道應用程序無法訪問/ system/etc /。 要授予此訪問權限,我使用系統sharedUserID並將應用程序簽名爲system_app。現在,我有一個priviligied應用

U:R:system_app:S0系統

默認情況下,/system/etc/libnfc-nxp.conf權限

-RW -r - R--根根libnfc-nxp.conf

所以,我通過ADB重新裝入/系統分區與RW測試,以chown和文件模式文件

CHOWN系統:系統libnfc-nxp.conf

搭配chmod 666 libnfc-nxp.conf

我仍然有同樣的問題.. 所以,我希望更新SELinux的到將system_app的{open write}訪問授予\ system \ etc下的所有文件。

我改性system_app.tedevice/xxx/sepolicy

userdebug_or_eng(`

允許system_app sysfs的:文件rw_file_perms;

允許system_app system_file:文件{創建開放讀寫GETATTR SETATTR};

')

我做了一個測試,仍然有同樣的問題。 我完成了我想到的一輪可能的想法。你有什麼建議嗎? 它可以仍然是一個SELinux的問題,因爲缺少東西。我不熟悉SELinux?

任何幫助,歡迎。 謝謝。

+0

'/ system'掛載點是隻讀的。 – odexcide

回答

0

我還沒有解決訪問問題。 最後,我改變了繼續和更新NFC服務的方式,以查看/ sdcard /文件夾(而不是/ system/etc /)上的conf文件。它避免了許可問題。

感謝您的幫助。

0

JMC,

首先,你真的重新安裝了/ system /嗎?如果沒有,運行這個命令,看看是否有幫助(注意:這將在重新啓動後重置): adb shell mount -o remount,rw/system

這是允許系統訪問r/w的關鍵劃分。

如果您仍然有問題,使用該命令禁止的SE Linux的實施方式: 亞行外殼setenforce 0

這應該給你一點一通。您應該在Android Studio中監控您的應用的調試,看看它是否需要其他權限。

相關問題