Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 重置运行时权限_Java_Android_Adb_Android Testing - Fatal编程技术网

Java 重置运行时权限

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等 我试着用

我正在安卓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 clear
似乎在Android 8.0上做到了这一点。

每次你
清理并运行你的应用程序时,权限也应该被重置。不要使用
即时跑步
@PrerakSola我不使用
即时跑步
。我希望这一切都是自动发生的。我不希望每次测试都做得很干净。因为如果是这样的话,每次在开始发送命令adb之前都会容易得多。您不能在设备上运行
adb shell
命令并让它工作。您应该能够从开发机器上运行它。应该有一种方法可以添加一个Gradle任务,该任务执行在测试运行之前运行的命令。@commonware好主意。我试图找到从Gradle发送命令的方法,但不幸的是,没有找到。@PrerakSola“Clean and Run”没有为我在Android Studio 2.2.3中重置权限,并且Instant Run被禁用。