2014-11-06 59 views
1

我正在使用NDK实现纯原生(C++)工具,此工具需要能够访问“/ dev/graphics/fb0”,为此,我需要以下权限:Android NDK,使用adb进行纯原生应用程序的权限

<uses-permission android:name="android.permission.ACCESS_SURFACE_FLINGER"/> 
<uses-permission android:name="android.permission.READ_FRAME_BUFFER"/> 

如何为纯原生C++应用程序指定权限? (没有apk,只有exe)
我该如何实现AndroidManifest.xml?它是否应该以某种方式嵌入到可执行文件中?

回答

0

您无法为单个可执行文件指定权限(因为它没有清单)。

如果您运行一个可执行文件,它将简单地继承它所运行的userId的权限。例如。如果你使用“adb shell”运行它,如果将在“shell”用户标识下运行,该用户标识不能访问帧缓冲区。

你唯一的希望是做下列之一:

  • 根的设备和运行的adb shell作为根(无论是与“苏”或'亚行根的第一个)。这通常不能用常规设备完成(即那些没有用定制ROM闪存的设备)。

  • 创建一个包含VM应用程序的APK,该应用程序将在其UID下调用可执行文件。 APK的清单将列出相应的权限。