Android NDK,使用adb启动的纯本机应用的权限

时间:2014-11-06 09:18:48

标签: android android-ndk

我正在使用NDK实现纯本机(C ++)工具,此工具需要能够访问“/ dev / graphics / fb0”,为此,我需要以下权限:

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

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

1 个答案:

答案 0 :(得分:0)

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

如果您运行可执行文件,它将只继承其运行的userId的权限。例如。如果你使用&#34; adb shell&#34;运行它,如果将在&#34; shell&#34;下运行用户ID,无法访问帧缓冲区。

您唯一的希望是执行以下操作之一:

  • 将设备设为root并以root用户身份运行adb shell(首先是&#39; su&#39;或者&#39; adb root&#39; first)。这通常不能用常规设备完成(即那些没有使用自定义ROM闪存的设备)。

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