2016-07-27 16 views
0

私はこのようなSELinuxを使用します。SEAndroid許可

SELinux.restoreconRecursive(new File("/data/data/com.my.app")); 

と、私はこの失敗だ:

drwxrwx--x u0_a126 u0_a126   u:object_r:app_data_file:s0 cache 

とI:この操作の前に

07-27 19:21:11.890 W/SELinux (5182): SELinux: Could not look up information for package com.my.app, cannot restorecon . 
07-27 19:21:11.890 E/SELinux (5182): SELinux: Could not set context for /data/data/com.my.app: Socket operation on non-socket 
07-27 19:21:11.890 E/SELinux (5182): SELinux: Could not read /data/data/com.my.app: Permission denied. 

を、ファイルは次のようになりですadbを使用してデフォルトに戻すには、次のようにします。

drwxrwx--x u0_a126 u0_a126   u:object_r:app_data_file:s0:c512,c768 cache 

これは、私のコードでrestoreconを使用する理由です。 plzこの例外について私に助けてください。

答えて

0

私はすでにこれを解決しています。 別のSELinux権限:

allow backuprestore selinuxfs:file { write }; 
allow backuprestore kernel:security { check_context }; 
allow backuprestore app_data_file:dir { relabelfrom relabelto}; 
allow backuprestore app_data_file:file { relabelfrom relabelto};