我想检查我的设备是否有根。当我在真正的设备中尝试下面的代码时,它是可以的。但是这行中的非根模拟器中断
if (new File(path).exists())
return true;
private static boolean isRooted() {
String[] paths = { "/system/app/Superuser.apk", "/sbin/su", "/system/bin/su", "/system/xbin/su", "/data/local/xbin/su", "/data/local/bin/su", "/system/sd/xbin/su",
"/system/bin/failsafe/su", "/data/local/su", "/su/bin/su"};
for (String path : paths) {
if (new File(path).exists())
return true;
}
return false;
}
您可以通过以下方法检查设备是否扎根:
public static boolean isRootedDevice(Context context) {
boolean rootedDevice = false;
String buildTags = android.os.Build.TAGS;
if (buildTags != null && buildTags.contains("test-keys")) {
Log.e("Root Detected", "1");
rootedDevice = true;
}
// check if /system/app/Superuser.apk is present
try {
File file = new File("/system/app/Superuser.apk");
if (file.exists()) {
Log.e("Root Detected", "2");
rootedDevice = true;
}
} catch (Throwable e1) {
//Ignore
}
//check if SU command is executable or not
try {
Runtime.getRuntime().exec("su");
Log.e("Root Detected", "3");
rootedDevice = true;
} catch (IOException localIOException) {
//Ignore
}
//check weather busy box application is installed
String packageName = "stericson.busybox"; //Package for busy box app
PackageManager pm = context.getPackageManager();
try {
Log.e("Root Detected", "4");
pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
rootedDevice = true;
} catch (PackageManager.NameNotFoundException e) {
//App not installed
}
return rootedDevice;
}
如果设备是根设备,它将返回true
,否则false
。
确定Android设备是否在程序上扎根? 如何以编程方式查找根设备?
我有一个自定义根Android平板电脑工作在AndroidM版本。我们构建了一个kiosk应用程序,下一步是完全删除导航条,而我们的应用程序正在工作。另外,当管理员关闭我们的应用程序时,导航栏应该会再次出现。 我真的相信这不是不可能完成的任务,因为我们的旧平板电脑(也有根)后面有按钮,它可以隐藏和显示导航条,而不需要重新启动。 任何帮助都很感激。
是否有其他方法启用它?
我想在Android设备上运行一些需要根权限的命令。这些命令应该使用java代码执行,因此应用程序本身应该能够运行这些命令,而不需要将设备连接到个人电脑并使用shell运行这些命令。 我使用了,然后使用了我想要运行的命令(chmod 666)。chmod666需要一个根设备才能正常运行,因此我尝试先使用获得超级用户权限,然后尝试运行它。我将java代码放在onCreate方法中。这是我的密码: 但
我有一个android应用程序,其中使用了第三方jar。Http请求是在应用程序运行时从第三方jar发送到服务器的。我需要捕获从第三方JAR发送的HTTP请求。我想知道是否有一个简单的方法来实现非根设备 启动:我试过下载“ProxyDroid”,但它需要根手机我也试过用“Shark Reader”下载“Shark for Root”,它也需要根设备我试过很多其他应用程序,它们可以捕获完整的请求,但
问题内容: 我的程序针对Android 1.5。我想检索有关设备本身的系统信息。通过搜索API,我发现很少有有用的类。到目前为止,我发现最好的是该类和一些系统属性。 我希望能够获得如下信息:设备上的内存总量,可用内存量(我不知道该类是否是主动给我的,因为它专门指的是JVM可用的内存)。有关处理器的信息。 这些信息是否可用?如果可以,我在哪里可以找到它? 问题答案: “内存总量”是毫无意义的(例如,