Android Studio模拟器的root权限

前言

一个安卓练习中用自带的sqlite3数据库查看数据的时候,需要通过adb shell进入/data/data/[包名]/databases/目录中,通过查看创建的数据库来查看相应的数据或者表。起初是打算在实机上进行测试的,在这里提一句,如果在实机上测试,则手机必须具有root最高权限。但是由于自己用的是华为手机,如果需要root的话,必须需要到官网上去申请解锁码才能利用一键root工具来root,总之非常麻烦,而且刷机也不能保证一定成功,所以考虑再三决定使用Android Studio中的模拟器进行测试。但是发现仍然出现了和实机一样的错误"permission denied",虽然搜索了相关教程,提示说可以把su通过adb pull传到模拟器内部;而且无法进入adb root模式.....但是操作实在复杂,好在笔者找到一个方法,当然可能只是个例,但是如果有人也遇到这个问题并且网上方法都试过的话,不妨试一试我的办法。

分析问题

我们通过adb shell直接进入的时候显示的是这样的:

@generic_x86:/ $

但是这恰恰表示不是root身份,如果显示的为:

root@generic_x86:/ #

就说明你已经是以root身份运行的了,不用再继续看这篇文章了。
问题提示:

/system/bin/sh: su: not found

这并不是找不到su命令,而是因为没有root权限,也执行不了su命令,这是一个错误的循环:想要进入root,但是必须使用只有root权限的命令进入root。

解决方法

查看一下你的模拟器内核版本是不是Android7.0或者以上的,如果是,那是因为Android 7.0的模拟器是没有root权限的,所以只需要重新安装一个非Android 7.0版本的模拟器,比如6.0就行了。安装好模拟器后,通过adb root进入root模式,然后正常操作就好了。

2018-10-03_12-54-52.png

2018-10-03_13-31-03.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,041评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,553评论 2 59
  • 这是一月份的事情了,至于为什么现在才拿出来讲,只是因为当时觉得没什么,过了这么长时间却发现念念不忘…… 其实也不是...
    小食阅读 3,529评论 0 0
  • 1.在广州的这几天,感受到最为强烈的还是作为一线城市的具大活力,生活节奏明显加快,基本上所到之处都是摩肩接踵的人群...
    小豆芽啊阅读 1,783评论 0 0
  • 首先你要引入两个库 在![Upload 屏幕快照 2017-09-12 上午11.09.04.png failed...
    nihau阅读 4,592评论 0 0

友情链接更多精彩内容