UiAutomator UiAutomator 2.0 在 Android 7.0 系统上无法在 sd 卡创建 txt 文件

Hong · 2017年05月27日 · 最后由 Hong 回复于 2017年08月04日 · 2459 次阅读

请教,UiAutomator 2.0 在 Android 7.0 的手机上,想要创建一个 txt 文件,提示权限问题,已经动态申请权限了,依然不行,可能我写的不对,希望成功的高人指导一下,谢谢。

共收到 7 条回复 时间 点赞

看一下你申请权限的代码

Hong #4 · 2017年05月27日 Author
xiang12345 回复

7.0 不是必须手动同意才能申请到权限么?

—— 来自 TesterHome 官方 安卓客户端

manifest 里权限申请了么
测试 apk 装的时候用-g 参数,这样默认所有权限直接授权,不用动态申请了,或者不用到 M/N/O 的特性的话,指定编译的 sdk 为 L 也可以绕过

Hong #5 · 2017年08月03日 Author

昨天又开始研究这个问题,发现有一条 adb 命令可以解决,在 Nexus 6 原生 7.0 和华为 Mate 8 6.0 系统和华为 Novar 2 7.0 系统都可以用,添加下面的代码,参考链接 http://www.cnblogs.com/JianXu/p/5380882.html

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            getInstrumentation().getUiAutomation().executeShellCommand(
                    "pm grant " + getTargetContext().getPackageName()
                            + " android.permission.WRITE_EXTERNAL_STORAGE");
            getInstrumentation().getUiAutomation().executeShellCommand(
                    "pm grant " + getTargetContext().getPackageName()
                            + " android.permission.READ_EXTERNAL_STORAGE");
        }

Hong 回复

那就是@264768502 同学所说的-g 命令,一个意思

Hong #7 · 2017年08月04日 Author
bauul 回复

是的,一个意思,但如果用 adb install -g apk_path 在 6.0 以下的手机上安装会提示 Error: Unknown option: -g,所以就在代码中动态判断了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册