Java 重置运行时权限
我正在安卓6.0(m)上测试我的应用程序,每次测试前我都需要重置权限。我该怎么做 我尝试过像这样发送adb命令Java 重置运行时权限,java,android,adb,android-testing,Java,Android,Adb,Android Testing,我正在安卓6.0(m)上测试我的应用程序,每次测试前我都需要重置权限。我该怎么做 我尝试过像这样发送adb命令adb shell pm reset permissions: ProcessBuilder pb = new ProcessBuilder("adb", "shell", "pm", "reset-permissions"); Process pc = pb.start(); pc.waitFor(); 但这对我不起作用 更新 “测试”是指测试JUnit,Espresso等 我试着用
adb shell pm reset permissions
:
ProcessBuilder pb = new ProcessBuilder("adb", "shell", "pm", "reset-permissions");
Process pc = pb.start();
pc.waitFor();
但这对我不起作用
更新
“测试”是指测试JUnit
,Espresso
等
我试着用这个来测试我的应用程序。在被问到这个问题时可能不是真的,但是
adb shell pm clear
似乎在Android 8.0上做到了这一点。每次你清理并运行你的应用程序时,权限也应该被重置。不要使用即时跑步
@PrerakSola我不使用即时跑步
。我希望这一切都是自动发生的。我不希望每次测试都做得很干净。因为如果是这样的话,每次在开始发送命令adb之前都会容易得多。您不能在设备上运行adb shell
命令并让它工作。您应该能够从开发机器上运行它。应该有一种方法可以添加一个Gradle任务,该任务执行在测试运行之前运行的命令。@commonware好主意。我试图找到从Gradle发送命令的方法,但不幸的是,没有找到。@PrerakSola“Clean and Run”没有为我在Android Studio 2.2.3中重置权限,并且Instant Run被禁用。