如何禁用谷歌要求定期检查我手机上安装的应用程序的权限?

84
我正在开发一款Android应用程序,因此我不断地在我的测试设备上构建和安装它。自从几天前起,每次构建/安装时都会有一个问题询问:

Google可能会定期检查已安装的应用程序是否存在潜在的有害行为。请在Google设置>验证应用程序中了解更多信息。

我可以选择接受或拒绝。我已经拒绝了大约一百次,但似乎谷歌的政策是继续询问直到我厌烦这个消息并最终点击接受。但我不想要这样。
所以我的问题是:我如何让谷歌知道我不希望他们定期检查我手机上安装的应用程序?

特别需要一个解决方案来支持自动化UI测试,例如使用Espresso,因为除非点击接受/拒绝按钮,否则APK甚至无法安装在新的模拟器实例上。是否有像GrantPermissionRule(https://developer.android.com/reference/android/support/test/rule/GrantPermissionRule.html)这样的`@Rule`可以解决这个问题? - Michael Osofsky
10个回答

98
在 Android 4.2 及以前的版本中,前往 Google 设置,点击 验证应用程序 并取消选中 验证应用程序 选项。
在 Android 4.2+ 版本中,取消选中选项 设置 > 安全 > 验证应用程序 和/或 设置 > 开发者选项 > 通过 USB 验证应用程序

23
啊!我刚刚在“设置”>“开发人员选项”>“通过 USB 验证应用程序”下面看到了它。对不起,我只是受够了这个消息和找不到设置的事实。 - kramer65
8
在设置应用程序中找不到Google设置,请在您的手机上查找该应用程序。 - Sunny
啊,我之前也从未听说过Google设置应用程序...干杯! - kramer65
这是默认的设置应用程序 ;) - Manuel Allenspach
2
在Android 5上,我必须使用Google设置应用程序。在开发者选项中,“通过USB验证应用程序”是灰色的。 - Rolf ツ
显示剩余2条评论

22
如果您想以编程方式关闭应用程序验证,可以使用以下代码:
boolean success = true;
boolean enabled = Settings.Secure.getInt(context.getContentResolver(), "package_verifier_enable", 1) == 1;
if (enabled) {
    success = Settings.Secure.putString(context.getContentResolver(), "package_verifier_enable", "0");
}

您还需要以下系统权限:

<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />

值得注意的是,“package_verifier_enable”字符串来自于Settings.Global.PACKAGE_VERIFIER_ENABLE成员,该成员似乎无法访问。


2
这段代码不起作用,总是返回true,尽管我已经从设置中禁用了“验证应用程序”。@ThelIT,你有什么解决方法吗? - Pankaj
@Pankaj,这个应用程序是作为系统应用安装的吗? - TheIT
@TheIT 不,我的应用程序是一个简单的应用程序,稍后将上传到Play商店。但是作为安全建议,客户要求检查“应用程序验证”,如果未启用,则提示用户启用它并导航用户到设置页面。 - Pankaj

10
在我的设备上,运行Android 5.1棒棒糖系统,点击Google设置图标 > 安全性 > 扫描设备以查找安全威胁。请注意,Google设置设置应用程序是分开的。

10

在常规设置中也可以找到它。

设置 -> 安全 -> 验证应用程序

只需取消选中它即可。

(我正在运行4.2.2,但很可能在4.0及更高版本中也有此选项。无法确认以前的版本……)


在M版本上,它位于开发者选项菜单中。 - wkarl

9
如果设备已经被root了,
root@mako:/ # settings put global package_verifier_enable 0

似乎解决了问题。 在这里输入图片描述

1
这确实有效,但我注意到在设备重新启动后,设置被重置为启用状态。 - mfleshman
是啊。为什么它被重置了?真烦人。 - JohnyTex

3

在Android 5.0及以上版本中:

打开“设置”>“更多”>“开发者选项”,取消选择“通过USB验证应用程序”!

enter image description here


主应用程序设置?我在主Android设置中没有看到更多选项,也没有在Google Chrome设置中看到。 - Trip

2
在 Android 6 及以上版本中,按照以下路径操作: 设置 -> Google -> 安全 -> 验证应用程序 取消所有复选框!现在你已经可以开始了!

2
在安卓4.2及以上版本中,取消选中"设置"->"安全"->"验证应用程序"和/或"设置"->"开发人员选项"->"通过USB验证应用程序"选项。以下是示例:

this worked for me ...


2

在最新版本的Lollipop中,进入应用程序抽屉并查找Google设置。向下滚动到“安全性”,点击打开,将旁边的“改善有害应用程序检测”的滑块向左滑动,然后对“扫描设备以查找安全威胁”进行同样操作。退出该设置页面,烦人的弹出窗口将永远不会再出现!


1
在Nexus 5中,进入设置 -> Google -> 安全,取消勾选“扫描设备以检测安全威胁”和“改善有害应用程序检测”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接