Android判断当前应用是不是有root权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android判断当前应用是不是有root权限相关的知识,希望对你有一定的参考价值。

/**
* 判断当前手机是否有ROOT权限
* @return
*/
public boolean isRoot()
boolean bool = false;

try
if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exists()))
bool = false;
else
bool = true;

Log.d(TAG, "bool = " + bool);
catch (Exception e)


return bool;

复制代码

调用的代码,大家好好看看吧
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//当前应用的代码执行目录
upgradeRootPermission(getPackageCodePath());

复制代码
执行上述代码后,系统会弹出对话框“是否允许获取Root权限”,此时选择允许即可。
参考技术A   【Android】Android 代码判断是否获取ROOT权限
  方法比较简单,直接粘贴代码
  public synchronized boolean getRootAhth()
  
  Process process = null;
  DataOutputStream os = null;
  try
  
  process = Runtime.getRuntime().exec("su");
  os = new DataOutputStream(process.getOutputStream());
  os.writeBytes("exit\n");
  os.flush();
  int exitValue = process.waitFor();
  if (exitValue == 0)
  
  return true;
   else
  
  return false;
  
   catch (Exception e)
  
  Log.d("*** DEBUG ***", "Unexpected error - Here is what I know: "
  + e.getMessage());
  return false;
   finally
  
  try
  
  if (os != null)
  
  os.close();
  
  process.destroy();
   catch (Exception e)
  
  e.printStackTrace();
  
  
  
参考技术B 您好!
根据您的描述:
  授权管理中有显示,如果没有授权管理,可以重新root即可、希望对你有帮助,满意望及时采纳,非常感谢!本回答被提问者和网友采纳
参考技术C 最直接可以找的系统自带的软件看可以卸载吗,不能卸载一般没有root权限,可以下载一个root权限 参考技术D 看看有没有程序。。图标是个R的追答

或者有超级用户的

没有就是没root

现在都有可以在手机上一键root的了。具体你搜搜

centOS 如何让当前用户取得管理员权限

centOS 如何让当前用户取得管理员权限

Centos下,我们可以用SU命令让当前用户临时获得管理员权限。

su是最简单的身份切换名,用su可以进行任何用户的切换,一般都是su -
username,然后输入密码就ok了,但是root用su切换到其他身份的时候是不需要输入密码的。

一般切换身份都是切换到root,然后进行一些只有root能干的事,比如修改配置文件,比如下载安装软件,这些都只能是root才有权限干的事,切换到root可以是单纯的su,或者是su -和su - root,后面两个是一样的意思。

单纯使用su切换到root,读取变量的方式是non-login
shell,这种方式下很多的变量都不会改变,尤其是PATH,所以root用的很多的命令都只能用绝对路径来执行,这种方式只是切换到root的身份。
而用su -这种方式的话,是login shell方式,它是先以root身份登录然后再执行别的操作。

如果只要切换到root做一次操作就好了,只要在su后面加个-c参数就好了,执行完这次操作后,又会自动切换回原账号身份,很方便。

举例说明:

[beinan@localhost ~]$ su
Password:
[root@localhost beinan]# pwd
/home/beinan

参考技术A 在终端输入
id 当前用户名 此命令的作用是查看当前用户是否存在
usermod -l 新用户名 老用户名 此命令的作用是修改当前用户的用户名
usermod -u 0 当前用户名 管理员用户的uid是为,提升当前用户的权限,将当前用户的uid设置为0本回答被提问者采纳
参考技术B su
需要管理员密码

以上是关于Android判断当前应用是不是有root权限的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Android 权限 ( adb 降权相关的属性 | ro.secure 属性 | ro.debuggable 属性 | service.adb.root 属性 )(代

Android检测设备是不是有root权限

手机root是啥意思

如何判断android用户拒绝了某项权限?

Unity在Android 6.0及以上版本弹出权限申请窗口的问题

android 平板电脑如何进入命令行操作