概述
废话不多说,首先是判定手机的adb root权限,手机的prop配置文件中有一个属性:ro.adb.secure,如果该配置数值为1,手机adb root权限没有打开,为0即是打开权限。
boolean adbRooted = SystemProperties.get("ro.adb.secure").equals("1");
if (adbRooted) {
Log.i("tag", "adb没有root权限");
mtvAdb.setText(R.string.pass);
} else {
Log.i("tag", "adb有root权限");
mtvAdb.setText(R.string.rooted);
}
接近就是判定手机root,一般情况下分为三种:
1、判定手机system/bin/su文件是否存在(用户用第三方APK获取手机root)
2、判定手机system/xbin/su文件是否存在(一般上自己编写user-root版的时候会出现这个)
3、手机中prop文件的一个数值ro.build.tags是否为"test-keys",如果是,则判定手机root.(这种方法我试了,编root版之后还是release-keys,可以不作考虑)
判定方法如下:
File file = new File("system/xbin/su");
if (file.exists()) {
suRooted = true;
}
File file1 = new File("system/bin/su");
if (file1.exists()) {
suRooted = true;
}
if(SystemProperties.get("ro.build.tags").equals("test-keys")){
suRooted = true;
}
第一次编辑博客,格式还不太会调,上述方法如有不对,请指教一番。(*^__^*) 嘻嘻。。。
最后
以上就是忐忑超短裙为你收集整理的androidL版本判定手机是否root?的全部内容,希望文章能够帮你解决androidL版本判定手机是否root?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复