我找到了解决我的问题的方法。这是很容易:
需要在应用程序级的创建一个新的任务build.gradle
文件是这样的:
android.applicationVariants.all { variant ->
def applicationId = variant.applicationId
def adb = android.getAdbExe().toString()
def variantName = variant.name.capitalize()
def grantPermissionTask = tasks.create("create${variantName}Permissions") << {
println "Granting permissions"
"${adb} shell pm grant ${applicationId} android.permission.ACCESS_FINE_LOCATION".execute()
"${adb} shell pm grant ${applicationId} android.permission.WRITE_EXTERNAL_STORAGE".execute()
"${adb} shell pm grant ${applicationId} android.permission.READ_EXTERNAL_STORAGE".execute()
}
}
然后添加以下的依赖:
preBuild.dependsOn "createDebugPermissions"
后,所有必需的权限将当你运行任何测试时都会被授予
试试这个可能是工作原理stackoverflow.com/a/41221852/5488468 –
对不起,这不是我的问题。我的问题是关于JUnit测试 – pbelov
你好pbelov, 我面临同样的问题。你解决了这个问题吗?如果是的话如何? – TKumar