UiAutomator申请权限

起因:想将测试log和截图保存到SD卡中

权限问题

问题分析:
从 Android 6.0(API 23)开始,用户开始在应用运行时向其授予权限,而不是在应用安装时授予。这种权限机制可以让用户更好的管理应用的权限,保障用户隐私。

问题解决:
首先要在manifest里进行权限申请,
思路一:测试apk装的时候用-g参数,这样默认所有权限直接授权,不用动态申请了。
思路二:不用到M/N/O的特性的话,指定编译的sdk为L也可以绕过。
思路三:执行adb 命令:(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"); }
最终选择思路三。
思路一,在6.0以下的手机上安装会提示Error: Unknown option: -g。
思路二,公司的手机版本大多是L以上的。

猜你喜欢

转载自blog.csdn.net/u013247461/article/details/81302085
今日推荐