androidL版本判定手机是否root?

废话不多说,首先是判定手机的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;
        }

第一次编辑博客,格式还不太会调,上述方法如有不对,请指教一番。(*^__^*) 嘻嘻。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值