即使在获得平台签名后也无法读取系统文件

PC.*_*PC. 2 android android-permissions

我已经构建了一个自定义的Android ROM.我已经使用平台签名签署了我的应用程序,并已添加android:sharedUserId="android.uid.system"到清单文件中.我的应用程序被授予所有"签名"和"系统"级别权限,但未授予对系统文件的访问权限.

    Log.w("PC", String.valueOf(checkCallingOrSelfPermission("android.permission.ACCESS_SURFACE_FLINGER")== PackageManager.PERMISSION_GRANTED)); // true
    Log.w("PC", String.valueOf(checkCallingOrSelfPermission("android.permission.READ_FRAME_BUFFER")== PackageManager.PERMISSION_GRANTED));      // true
    Log.w("PC", String.valueOf(checkCallingOrSelfPermission("android.permission.INJECT_EVENTS")== PackageManager.PERMISSION_GRANTED));          // true

    Log.w("PC", String.valueOf(new File("/dev/graphics/fb0").canRead()));                      // false
    Log.w("PC", String.valueOf(new File("/data/misc/wifi/wpa_supplicant.conf").canRead()));   // false
Run Code Online (Sandbox Code Playgroud)

文件的权限是:

ls -l /dev/graphics/fb0
crw-rw---- root     graphics  29,   0 2014-02-12 09:43 fb0

ls -l /data/misc/wifi/wpa_supplicant.conf
-rwxrwx--- wifi     wifi          282 2014-02-11 19:04 wpa_supplicant.conf
Run Code Online (Sandbox Code Playgroud)

有没有办法获得这些文件的访问权限?

PC.*_*PC. 5

我找到了解决方案.除了平台签名,android:sharedUserId="android.uid.system"您还需要添加清单文件android:process="system"<application />部分.