美文网首页Android开发
ADB的run-as和exec-out参数

ADB的run-as和exec-out参数

作者: swimmer2000 | 来源:发表于2018-05-11 15:14 被阅读0次

run-as 可以用某个用户的权限来执行命令,这可以解决没有访问权限的问题,在不带这个参数时执行:

adb push sample.db /data/data/com.sample.foo/databases/sample.db

sample.db就不能被com.sample.foo访问,因为文件的用户和所在的组与com.sample.foo不一致,必须要经过chown修改用户和组后才能访问,而且由于每次app安装后获得的用户名不一致,没法将chown命令的参数批处理化,这是个很重要的缺陷。

带上run-as执行:

adb shell "run-as com.sample.foo sh -c 'cp /sdcard/sample.db /data/data/com.sample.foo/databases/sample.db'"

sample.db就变成com.sample.foo亲生的。如果你没有root权限,执行pull或者push时又提示Permission denied,不妨加上run-as参数看看。

exec-out是本文的另一个主角。在用adb pull从设备拉db之类的二进制文件的过程中,程序会自作主张的加上一些换行符,最终导致得到的文件被修改,exec-out的意思是说,给我保留原汁原味,我不要添加剂,谢谢!

你可以对比以下命令的输出:

adb shell "su -c cat /data/data/com.android.providers.settings/databases/settings.db" > settings.db

adb exec-out "su -c cat /data/data/com.android.providers.settings/databases/settings.db" > settings.db

更详细的说明请参考adb的帮助和下面的连接:
https://stackoverflow.com/questions/13578416/read-binary-stdout-data-from-adb-shell
https://stackoverflow.com/questions/22703254/copying-files-in-adb-shell-with-run-as/22751947

相关文章

  • ADB的run-as和exec-out参数

    run-as 可以用某个用户的权限来执行命令,这可以解决没有访问权限的问题,在不带这个参数时执行: adb pus...

  • Android

    Android 开发数据库调试查看 1. 通过 adb shell 进入命令终端。 2. run-as (app的...

  • Android导出数据库文件

    电脑连接手机,输入adb shell 当出现MX6:/ $时,输入run-as com.test.app 输入 c...

  • run-as: package has corrupt inst

    使用adb run-as 报错: 解决办法 删除应用 重新安装 不好使 就重启手机。 反正我是可以使用了。

  • Android adb 使用详解(一)

    adb 源码 adb 命令 以下命令需要指定手机时, 添加-s [deviceNAme] 参数 基本命令 adb ...

  • Monkey高级参数的应用

    Monkey高级参数的应用 throttle参数 指定事件之间的间隔举个栗子:adb shell monkey -...

  • ADB常用命令

    命令分类 1. ADB Debugging 2. 连接设备 3. 包管理 adb install 各项参数可以结合...

  • monkey指令实现压力测试

    adb shell monkey 参数 1、-p 指定一个包或多个包:adb shell monkey -p yo...

  • 常用adb命令

    adb devices 查看当前连接的设备(如果连接了多个设备,指定某个设备时用参数 -s) adb logcat...

  • 基础知识收纳 2018-11

    使用adb命令进行路由跳转,需要携带多个参数。 参数连接符&需要进行转义,表达为'&'。

网友评论

    本文标题:ADB的run-as和exec-out参数

    本文链接:https://www.haomeiwen.com/subject/xrmfdftx.html