【问题标题】:Root privileges for an android application (Complete app. Not just few commands)安卓应用程序的根权限(完整的应用程序。不仅仅是几个命令)
【发布时间】:2017-01-01 08:14:17
【问题描述】:

问题:

如何使用 root 权限执行一个完整的应用程序(不仅仅是几个命令)?


场景:

我正在使用有根的 android 设备。

在一个安卓应用程序中,我需要播放通过eth0 接收到的H.264 流。 我需要 root 权限才能打开(原始打开)eth0

对应的代码在JNI中。 由于JNI代码和Java代码之间需要交换大量的缓冲区,执行方式(Process.exec(su))非常不方便。


理想解决方案:

JNI 代码在与 Java 代码相同的进程上下文中执行。因此,授予我的 android 进程 root 权限应该可以解决我的问题。但我不知道该怎么做。


我试过了:

  1. 将应用程序设为system app/priv-app。我认为这会给应用程序 root 访问权限。但这并没有发生。

【问题讨论】:

  • 在你的清单中你应该有这个(顺便说一句你使用的是什么版本?)

标签: android java-native-interface root su


【解决方案1】:

尝试将您的应用程序从 /system/app 移动到 /system/priv-app

/system/priv-app 中的应用程序将具有系统级访问权限。

/system 是只读的,没有 root 权限,因此它可以防止从 /system/app 和 /system/priv-app 卸载应用程序。重要的应用程序被放置在那里,因此它们无法被卸载。

/system/priv-app 允许安装在那里的应用程序使用 signatureOrSystem 和其他特权权限。

【讨论】:

  • 谢谢。但我仍然面临同样的问题。 "Operation not allowed" 移到 priv-app 后,我应该通过在 XML 中声明一些东西来请求系统权限吗?
  • 在清单 android:sharedUserId="android.uid.system" 中添加以下行并使用平台证书签署应用程序。 stackoverflow.com/questions/3635101/…
  • 补充说。但问题仍然存在
  • 这方面有什么进展吗?
  • @shlatchz 不。最后我在 JNI 和 java 之间使用套接字 IO。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-19
  • 2023-04-08
  • 1970-01-01
  • 2014-01-29
相关资源
最近更新 更多