给Android应用程序(.apk)文件root访问权限

时间:2015-03-19 06:30:32

标签: java android android-ndk java-native-interface

我开发了一个应用程序,其中我执行需要root访问的命令。

我还使用java Process来执行命令,但它也无法正常工作。

为此我使用c api使用JNI(NDK),但它也没有root用户访问权限。因为它具有与应用程序相同的权限。

我的设备作为root访问权限,这就是它在adb shell中执行命令的原因。但不是 来自申请。

有没有办法给应用程序提供root权限?

请给出解决方案......

2 个答案:

答案 0 :(得分:1)

为了给予应用程序系统许可。

您需要使用平台签名签署应用程序。您需要使用<root-of-android-source-tree>/build/target/product/security/中的密钥并在AndroidManifest.xml文件中添加android:sharedUserId="android.uid.system"

步骤:

  

使用平台证书签署申请   并使用系统sharedUserId运行它。这些是步骤:

     
      
  • 使用http://source.android.com/documentation/building-for-dream为您的梦想构建并闪现自己的Android。使用   mkkey.sh脚本   要创建http://pdk.android.com/online-pdk/guide/release_keys.html   新证书,包括x509证书,然后才能制作&#39;。
  •   
  • 在您的应用的AndroidManifest.xml中:在<manifest>元素下添加属性android:sharedUserId="android.uid.system"
  •   
  • 使用Eclipse导出未签名的Android应用程序版本:右键单击项目&gt;&gt; Android工具&gt;&gt;出口   未签名的应用程序包。
  •   
  • 使用<root-of-android-source-tree>/out/host/<your-host>/framework/signapk.jar使用platform.x509.pemplatform.pk8 <root-of-android-source-tree>/build/target/product/security对您的应用进行签名   早先生成的:

    java -jar signapk.jar platform.x509.pem platform.pk8 YourApp-unsigned.apk YourApp-signed.apk.
    
  •   
  • 将应用安装到您的设备:

    adb install YourApp-signed.apk
    
  •   
  • 运行您的应用
  •   
  • 使用adb shell ps确认您的应用是否以系统身份运行。
  •   

答案 1 :(得分:0)

在谈论root访问权限时,您必须在清单文件link中提供权限,然后在root用户手机中安装应用程序之后su应用程序将要求root权限