判断 Android 设备是否已 ROOT
2016-04-12 19:10
405 查看
Android 系统获取 Root 权限以后,会存在一个 su 文件,对其作适当判断来得知设备是否已 ROOT
#include <sys/stat.h> #include <jni.h> jboolean Java_com_glorevo_RootState_getRootState( JNIEnv* env, jobject thiz ) { char *path[] = { "/system/bin/su", "/system/xbin/su" }; struct stat sb; if (stat(path[0], &sb) == -1) if (stat(path[1], &sb) == -1) return JNI_FALSE; //-rwxr-xr-x/-rwsr-sr-x, root, root/shell if( ((unsigned long)sb.st_mode == 0100755 /*|| (unsigned long)sb.st_mode == 0106755*/ ) && ((unsigned long)sb.st_uid == 0) && ((unsigned long)sb.st_gid == 0 || sb.st_gid == 2000) ) return JNI_TRUE; else return JNI_FALSE; }
相关文章推荐
- java.lang.NoClassDefFoundError: * : Landroid/support/v7/gridlayout/R$styleable 异常终极解决办法
- Android自定义控件1
- Android(M) Telephony Framework SIM card recognization flow
- android6.0 adbd深入分析(二)adb驱动数据的处理、写数据到adb驱动节点
- AndroidStudio开发第一个JNI工程
- Android 如何判断一个应用在运行
- android jni编译配置DEBUG or RELEASE 的方法和优先级
- Android实现圆角边框
- AndroidStudio统计代码行数
- Android自定义View的官方套路
- 一起来学习Android自定义控件1
- android 读取,清除缓存通用于所有手机 解决空指针
- Android 混淆代码总结
- Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例
- Android Studio ADB响应失败解决方法(2CTo.com)
- Android-Universal-Image-Loader 图片异步加载类库的使用(超详细配置)
- 在Android中通过Java修改文件权限
- android基础再学习---如何保证Service不被杀掉
- Android ListView工作原理完全解析,带你从源码的角度彻底理解
- Android Studio快捷键