今天我安装了WSO2 EMM Server作为现有mdm软件的替代品。 我的公司正在建立自己的Android智能手机,平板电脑和平板电脑Android 4.x.x. 我安装了Android EMM-Agent并获得了我的设备根植的信息。
由于您的设备已植根
,因此无法注册
但手机上没有根。
那么我怎么能说代理设备没有植根? 或者我应该与开发人员交谈?
答案 0 :(得分:1)
我有同样的问题......
您可以通过修改代理的来源以绕过根测试来解决问题!
这是在文件Root.java上,函数isDeviceRooted(),只是注释三行测试:
public boolean isDeviceRooted() {
// if (checkRootMethod3()){return true;}
// if (checkRootMethod2()){return true;}
// if (checkRootMethod1()){return true;}
return false;
}
答案 1 :(得分:1)
另一种方法是分析代理发现您的设备已植根的方式......
代码如下:
/**
*Returns true if the OS build tags contains "test-keys"
*/
public boolean checkRootMethod1(){
String buildTags = android.os.Build.TAGS;
if (buildTags != null && buildTags.contains("test-keys")) {
Log.e("ROOT CHECKER", "ROOT METHOD 1");
return true;
}
return false;
}
/**
*Returns true if the device contains SuperUser.apk which is stored into the device in the rooting process
*/
public boolean checkRootMethod2(){
try {
File file = new File("/system/app/Superuser.apk");
if (file.exists()) {
Log.e("ROOT CHECKER", "ROOT METHOD 2");
return true;
}
} catch (Exception e) { }
return false;
}
/**
*Executes a shell command (superuser access with su binary) and returns true if the command succeeds
*/
public boolean checkRootMethod3() {
if (new ExecShell().executeCommand(ExecShell.SHELL_CMD.check_su_binary) != null){
Log.e("ROOT CHECKER", "ROOT METHOD 3");
return true;
}else{
return false;
}
}
所以,进行了3次检查: