精华内容
下载资源
问答
  • adb Shell root 权限

    千次阅读 2016-09-18 16:20:59
    因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied。删除system下的文件也没有权限。...

    adb Shell root 权限

    永久root带文件

    因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied。删除system下的文件也没有权限。其实有两种方法可以获取adb shell的root权限,这两种方法的前提都是手机已经root。 1、用su可以提权,直接执行su就会看到用户命令提示符由”$”变成了”#”,如果手机没有root,会提示su: Permission Denied。这个文件不是每个手机都有的,可以百度 解压后把su放在adb同一目录下,执行:

    adb push su /system/bin/adb shell chmod4755/system/bin/su

    如果提示Read-only filesystem,那么就要重新挂载一下/system,把只读挂载成可读写,只有手机root了才能运行:

    mount -o remount,rw/dev/block/mtdblock0/system /

    再运行su就能让adb shell获取root权限了。 2、可以修改根目录下的default.prop提权: 根目录默认是不允许修改的,执行

    mount -o remount,rw rootfs/

    用vi打开default.prop,找到ro.secure,修改为ro.secure=0,保存后重启,再adb shell一下,就会有root权限了。 方法:

    修改./default.prop

    把ro.secure设为0,persist.service.adb.enable设为1,adbd进程就会以root用户的身份启动。

    其实两篇文章大体效果不同,这个是完全破除限制,下文只是部分 至于文中所提到的su文件,是指被修改过的,无任何验证的,这样安全性大大降低,推荐完整root前,先备份原su文件。

     

    原理:

    可以看一下Android系统根目录下的/init.rc的片段:

    ... ...

    # adbd is controlled by the persist.service.adb.enable system property

    service adbd /sbin/adbd

        disabled

    # adbd on at boot in emulator

    on property:ro.kernel.qemu=1

        start adbd

    on property:persist.service.adb.enable=1

        start adbd

    on property:persist.service.adb.enable=0

        stop adbd

    ... ...

    这里定义了一个触发器,只要persist.service.adb.enable值被置为1,就会启动/sbin/adbd。

     

    在build目录下搜索一下,发现了main.mk中有这样的代码片段

    ## user/userdebug ##

     

    user_variant := $(filter userdebug user,$(TARGET_BUILD_VARIANT))

    enable_target_debugging := true

    ifneq (,$(user_variant))

      # Target is secure in user builds.

      ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1

     

      tags_to_install := user

      ifeq ($(user_variant),userdebug)

        # Pick up some extra useful tools

        tags_to_install += debug

      else

        # Disable debugging in plain user builds.

        enable_target_debugging :=

      endif

     

      # TODO: Always set WITH_DEXPREOPT (for user builds) once it works on OSX.

      # Also, remove the corresponding block in config/product_config.make.

      ifeq ($(HOST_OS)-$(WITH_DEXPREOPT_buildbot),linux-true)

        WITH_DEXPREOPT := true

      endif

     

      # Disallow mock locations by default for user builds

      ADDITIONAL_DEFAULT_PROPERTIES += ro.allow.mock.location=0

     

    else # !user_variant

      # Turn on checkjni for non-user builds.

      ADDITIONAL_BUILD_PROPERTIES += ro.kernel.android.checkjni=1

      # Set device insecure for non-user builds.

      ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0

      # Allow mock locations by default for non user builds

      ADDITIONAL_DEFAULT_PROPERTIES += ro.allow.mock.location=1

    endif # !user_variant

     

    ifeq (true,$(strip $(enable_target_debugging)))

      # Target is more debuggable and adbd is on by default

      ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1 persist.service.adb.enable=1

      # Include the debugging/testing OTA keys in this build.

      INCLUDE_TEST_OTA_KEYS := true

    else # !enable_target_debugging

      # Target is less debuggable and adbd is off by default

      ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0 persist.service.adb.enable=0

    endif # !enable_target_debugging

    这段代码我大致解释一下:

    主要通过判断当前的编译模式来给几个属性赋予不同的值,然后把属性存储在ADDITIONAL_DEFAULT_PROPERTIES这个变量中,这个变量在后面是要写到根目录下的/default.prop中去,在系统启动时被属性服务加载的。也就是说我们在/default.prop中看到的几个属性的值是在这里设置的。

    只看两个属性ro.secure,persist.service.adb.enable。当前是user模式的话,编译系统会把ro.secure置为1,把persist.service.adb.enable置为0.也就是说,用user模式编译出来的系统运行在安全模式下,adbd默认关闭。即使通过设置属性的方式打开,adbd进程的用户也是shell,不具有root权限。这样,普通用户或者开发者拿到一个机器后,通过PC运行adb shell时,是以shell用户登录机器的。

    好了,现在把ro.secure置为0,再重新编译,只要设置属性persist.service.adb.enable的值为1,adbd进程就会以root用户的身份启动

    展开全文
  • 执行命令如下: 1、adb root 获取根权限 2、adb disable-verity(旧版的adb 工具包不支持adb disable-verity命令,博主版本:1.0.39) 解锁分区 查看adb版本:adb version 执行果结: ...重新挂载系统分区

    执行命令如下:

    1、adb root

    获取根权限

    2、adb disable-verity(旧版的adb 工具包不支持adb disable-verity命令,博主版本:1.0.39

    解锁分区

    查看adb版本:adb version


    执行果结:

    3、adb reboot

    重启设备

    4、adb root

    重新获取根权限

    5、adb remount

    重新挂载系统分区

    执行结果如下:



    完成!


    展开全文
  • 我用小米手机做实验获得root权限并修改文件目录权限(手机已被刷机,系统有root权限,不知道有没有影响) 1、首先adb shell 进入手机 2、键入命令su获取root权限,获取到的标志是由$符号变成#号 3、键入mount查看...

    我用小米手机做实验获得root权限并修改文件目录权限(手机已被刷机,系统有root权限,不知道有没有影响)

    1、首先adb shell 进入手机

    2、键入命令su获取root权限,获取到的标志是由$符号变成#号

    3、键入mount查看系统目录及是否可读写rw为可读写,ro为只读(read only)



    我修改的是rootfs / rootfs ro,relatime 0 0目录的权限,rootfs为区号, /为目录(如果是system目录就应该是/system),第二个rootfs应该是标识吧,ro为只读标志,0 0我也不知道是啥。

    4、然后就可以开始修改权限了,键入命令mount -o remount rootfs /,执行后键入mount查看权限


    就是可读了。

    本人小菜鸟,纯属记录,欢迎大神点评。


    展开全文
  • adb shell root权限

    千次阅读 2015-12-23 12:27:02
    因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied。删除system下的文件也没有权限。...

    http://www.cnblogs.com/blues_/p/3582097.html

    永久root带文件

    因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied。删除system下的文件也没有权限。其实有两种方法可以获取adb shell的root权限,这两种方法的前提都是手机已经root。 1、用su可以提权,直接执行su就会看到用户命令提示符由”$”变成了”#”,如果手机没有root,会提示su: Permission Denied。这个文件不是每个手机都有的,可以百度 解压后把su放在adb同一目录下,执行:

    adb push su /system/bin/adb shell chmod4755/system/bin/su

    如果提示Read-only filesystem,那么就要重新挂载一下/system,把只读挂载成可读写,只有手机root了才能运行:

    mount -o remount,rw/dev/block/mtdblock0/system /

    再运行su就能让adb shell获取root权限了。 2、可以修改根目录下的default.prop提权: 根目录默认是不允许修改的,执行

    mount -o remount,rw rootfs/

    用vi打开default.prop,找到ro.secure,修改为ro.secure=0,保存后重启,再adb shell一下,就会有root权限了。 方法:

    修改./default.prop

    把ro.secure设为0,persist.service.adb.enable设为1,adbd进程就会以root用户的身份启动。

    其实两篇文章大体效果不同,这个是完全破除限制,下文只是部分 至于文中所提到的su文件,是指被修改过的,无任何验证的,这样安全性大大降低,推荐完整root前,先备份原su文件。

     

    原理:

    可以看一下Android系统根目录下的/init.rc的片段:

    ... ...

    # adbd is controlled by the persist.service.adb.enable system property

    service adbd /sbin/adbd

        disabled

    # adbd on at boot in emulator

    on property:ro.kernel.qemu=1

        start adbd

    on property:persist.service.adb.enable=1

        start adbd

    on property:persist.service.adb.enable=0

        stop adbd

    ... ...

    这里定义了一个触发器,只要persist.service.adb.enable值被置为1,就会启动/sbin/adbd。

     

    在build目录下搜索一下,发现了main.mk中有这样的代码片段

    ## user/userdebug ##

     

    user_variant := $(filter userdebug user,$(TARGET_BUILD_VARIANT))

    enable_target_debugging := true

    ifneq (,$(user_variant))

      # Target is secure in user builds.

      ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=1

     

      tags_to_install := user

      ifeq ($(user_variant),userdebug)

        # Pick up some extra useful tools

        tags_to_install += debug

      else

        # Disable debugging in plain user builds.

        enable_target_debugging :=

      endif

     

      # TODO: Always set WITH_DEXPREOPT (for user builds) once it works on OSX.

      # Also, remove the corresponding block in config/product_config.make.

      ifeq ($(HOST_OS)-$(WITH_DEXPREOPT_buildbot),linux-true)

        WITH_DEXPREOPT := true

      endif

     

      # Disallow mock locations by default for user builds

      ADDITIONAL_DEFAULT_PROPERTIES += ro.allow.mock.location=0

     

    else # !user_variant

      # Turn on checkjni for non-user builds.

      ADDITIONAL_BUILD_PROPERTIES += ro.kernel.android.checkjni=1

      # Set device insecure for non-user builds.

      ADDITIONAL_DEFAULT_PROPERTIES += ro.secure=0

      # Allow mock locations by default for non user builds

      ADDITIONAL_DEFAULT_PROPERTIES += ro.allow.mock.location=1

    endif # !user_variant

     

    ifeq (true,$(strip $(enable_target_debugging)))

      # Target is more debuggable and adbd is on by default

      ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=1 persist.service.adb.enable=1

      # Include the debugging/testing OTA keys in this build.

      INCLUDE_TEST_OTA_KEYS := true

    else # !enable_target_debugging

      # Target is less debuggable and adbd is off by default

      ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0 persist.service.adb.enable=0

    endif # !enable_target_debugging

    这段代码我大致解释一下:

    主要通过判断当前的编译模式来给几个属性赋予不同的值,然后把属性存储在ADDITIONAL_DEFAULT_PROPERTIES这个变量中,这个变量在后面是要写到根目录下的/default.prop中去,在系统启动时被属性服务加载的。也就是说我们在/default.prop中看到的几个属性的值是在这里设置的。

    只看两个属性ro.secure,persist.service.adb.enable。当前是user模式的话,编译系统会把ro.secure置为1,把persist.service.adb.enable置为0.也就是说,用user模式编译出来的系统运行在安全模式下,adbd默认关闭。即使通过设置属性的方式打开,adbd进程的用户也是shell,不具有root权限。这样,普通用户或者开发者拿到一个机器后,通过PC运行adb shell时,是以shell用户登录机器的。

    好了,现在把ro.secure置为0,再重新编译,只要设置属性persist.service.adb.enable的值为1,adbd进程就会以root用户的身份启动。

    展开全文
  • adb 修改system权限

    千次阅读 2016-06-24 10:57:22
    adb shell su mount -o rw -o remount /dev/block/actb / 修改系统system目录下的只读权限,不可重启设备 mount -o rw,remount /dev/block/mtdblock3 /system
  • adb Shell root 权限

    千次阅读 2017-08-10 10:20:40
    因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied。删除system下的文件也没有权限。...
  • adb删除系统应用

    千次阅读 2019-01-28 10:43:55
           因为自己在开发中,总是需要进行对系统中的应用进行删除操作才能调试,又容易忘记,所以自己...进入系统中的根目录,获得系统权限#adb remount------->重新挂载...
  • 解决adb shell root权限

    万次阅读 2015-09-12 10:00:19
    adb shell默认是没有root权限的,修改系统文件就很不方便。有两种方法可以获取adb shell的root权限,这两种方法的前提都是手机已经root。 1、用su可以提权,直接执行su就会看到用户命令提示符由”$”变成了”#”...
  • android5.1 获取adb shell root 权限

    千次阅读 2017-09-22 10:21:28
    2017/09/22 android5.1 的userdebug和eng 版本都开放了adb shell root 权限 进入root权限,如下命令: $ adb root $ adb shell #  即可进入adb shell ,root权限
  • 动态调试apk,monitor.bat只显示设备名,不显示进程,是因为系统的debug权限没有打开,可以使用rootadb工具开启,方法如下: adb shell adb push rootadb的本地路径 /data/local/tmp/ chmod 777 roootadb ./...
  • adb shell获取root权限

    千次阅读 2014-07-21 10:13:36
    因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied。删除system下的文件也没有权限。...
  • Android 系统(67)---android apk 的root 权限和USB adb 权限的区别.pdf
  • ADB常用权限

    2016-11-24 17:29:19
     adb devices 2. 安装应用程序:  adb install -r 123.apk 3. 获取模拟器中的文件:  adb pull 4. 向模拟器中写文件:  adb push 5. 进入模拟器的shell模式:  adb shell 6. 缷载apk包: ...
  • android adb shell 修改权限

    千次阅读 2017-06-29 15:41:04
    今天终于领教到了adb shell 的作用了!实现了警务通的上电,下电功能 adb 使用 cdm  d: cd D:\android_AS_sdk\platform-tools adb shell 执行adb shell命令 echo 1 > dev/yadr001_dev 上电 echo 0 > dev/yadr001_...
  • 修改Android源码,开启adb的Root权限

    千次阅读 2016-08-31 09:52:07
    adb 的root 权限是在system/core/adb/adb.c 中控制。主要根据ro.secure 以及 ro.debuggable 等system property 来控制。 默认即档ro.secure 为0 时,即开启root 权限,为1时再根据ro.debuggable 等选项来确认是否...
  • Android adb root权限

    万次阅读 2012-11-24 00:04:44
    因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied。删除system下的文件也没有权限。...
  • android4.4环境,已经可以adb root操作/system/app目录,但是在apk中却提示su: ``` su: uid 10054 not allowed to su ...系统是厂家提供的debug版本,莫非系统只提供了adb的root权限,而没有提供apk的root权限
  • 在windows的cmd命令窗口输入如下命令:  adb root // adb以root权限登录安卓开发板  adb shell  mount -rw -o remount /system // 以读写权限重新挂载system  OK!
  • adb内置安装APP方法,具有系统权限

    千次阅读 2016-08-04 10:27:03
    adb shell 复制文件到/system/app  1. $ adb push C:\MyApp_Signed.apk /sdcard/ // 上传要安装的文件,为安装做准备。...如果没有获得 Root 权限,这一步不会成功。  4. # mount -o remount
  • adb下载安装及使用

    万次阅读 多人点赞 2019-05-23 12:00:15
    adb介绍: Android Debug Bridge(安卓调试桥) tools。它就是一个命令行窗口,用于通过电脑端与模拟器或者是设备之间的交互。 ADB是一个C/S架构的应用程序,由三部分组成: 运行在pc端的adb client: 命令行程序”...
  • adb 安装卸载系统软件

    千次阅读 2018-10-10 11:03:29
    adb安装卸载系统软件安装系统程序卸载系统软件 安装系统程序 准备工作手机要root,电脑要安装adb调试工具 然后打开cmd 依次输入 adb root (获取管理员权限adb remount(获取读写权限adb push xxx.apk /system...
  • 开启adb su权限

    千次阅读 2016-02-16 11:02:24
    可以通过修改文件来实现这个需求,只是在这个文件中添加了一个后门:system/core/adb/adb.c @@ -55,6 +55,31 @@ static int auth_enabled = 0; static const char *adb_device_banner = "device"; #endif +bool ...
  • Adb shell获取root权限

    千次阅读 2014-05-27 11:55:02
    Adb shell中我们希望使用一些系统目录下的文件时候,常常痛苦于没有Root权限系统会提示su: Permission Denied。 su不是每个手机都有的,没有的可以在这里下载:
  • adb命令下以root权限进入android系统

    万次阅读 2013-11-11 20:23:50
    运行cmd,切换到android-sdk\tools目录下,运行adb命令,加上参数shell,进入系统目录,这时命令行前面的的字符为$,表明你是以普通用户进入系统,如果用户要对系统拥有root权限,可以输入 su,此时命令行前面的字符...
  • 学习用SQLite数据库框架,但是在Mac系统下出现了一个问题(本人刚用Mac系统的小白),我的DDMS中data目录不能打开,用命令行也不行。 首先我想解决命令行不能使用的问题。 原因:没有安装adb; 解决方案: 1.打开...
  • 获取adb root权限

    千次阅读 2015-03-10 18:15:32
    在开发中,难免在debug release版本时碰倒adb shell权限的问题, 比如QA突然急冲冲的拿着一台出问题的机器跑过来,当你要使用adb shell做一些测试时竟然发现没有root权限,是不是一个头两个大, 怎么办,如何获取...
  • 玩转ADB命令(ADB命令使用大全)

    万次阅读 多人点赞 2017-10-27 10:53:39
    我相信做Android开发的朋友都用过ADB命令,但是也只是限于安装应用push文件和设备重启相关,根深的也不知道了,其实我们完全可以了解多一点,有一些不常用的场景我们至少应该知道它可以做到,比如,我们知道adb ...
  • 在Android6.0 (Android M)userdebug版本上(eng版本不存在该问题),发现使用adb remount 系统之后,还是不能对system分区进行操作,提示没有写权限,为只读文件系统Read-only file system 解决方法如下  .执行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,638
精华内容 11,855
关键字:

adb查询系统权限