Android - 在 C/C++ 代码中检测 root 设备

标签 android c

有很多示例展示了如何在java代码中检测已root的android设备,我需要在C代码中执行此操作(当然由jni包装),找不到任何示例。请帮忙。 谢谢。

经过研究,在 JNI C 代码中发现了一些东西:system("echo\"test\">/data/test.txt\n");

  1. 在获得 root 权限的设备上返回 512,512 表示错误代码 2(严重错误)。
  2. 在未 root 的设备上返回 256,256 表示错误代码 1(轻微错误)权限被拒绝。

检查返回错误 512 是否足以表明设备已获得 root 权限?

最佳答案

你可以做一些更简单的事情。

Java中有一个标志来确定手机是否已root。如果是,当您进行 JNI 调用时,请传递此标志以指示相同的情况。然后您可以在 C 中处理有根/无根的代码流。

关于Android - 在 C/C++ 代码中检测 root 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15651552/

相关文章:

c - Malloc() 为整数创建新的大小以用于数学 - 需要指导

c - sprintf() 的使用以及 gdb 报告程序提前脱离循环?

C访问可变长度数组

java - 在 Android Studio 布局编辑器中拖放

android - 我可以使用 BroadcastReceiver 的回调方法吗?

c++ - 在 C/C++ 中,是否保证 volatile 变量在线程之间具有最终一致的语义?

c - 使用 Read 系统调用时,While 循环不会退出

android - Android 后台位置跟踪

android - cordova 构建 android 在 Ubuntu 12.04 上抛出错误

Android 添加彩信到数据库