对于元数据中的EnableSafeBrowsing

时间:2018-02-11 21:36:38

标签: android android-manifest lint

我在清单文件中添加了EnableSafeBrowsing。这基于此处提供的信息:https://android-developers.googleblog.com/2017/06/whats-new-in-webview-security.html

当我在我的应用程序上运行Lint分析时,我在此Manifest语句中收到以下警告:Element meta-data is not allowed here(此检查突出显示Android资源文件和AndroidManifest.xml中的不允许的XML标记)

<meta-data
        android:name="android.webkit.WebView.EnableSafeBrowsing"
        android:value="true" />

此时我正在抑制此警告(<!--suppress AndroidElementNotAllowed -->)。关于是否或何时不再将其视为Lint的警告,是否有任何消息?

清单中的位置:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.xxxxx.xxxxxx">

    <!--suppress AndroidElementNotAllowed -->
    <meta-data
        android:name="android.webkit.WebView.EnableSafeBrowsing"
        android:value="true" /> 

2 个答案:

答案 0 :(得分:2)

将其添加到应用程序标记中。如果您阅读docs,则会看到meta-data标记可以包含在的标记列表中:

<activity>
<activity-alias>
<application>
<provider>
<receiver>
<service> 

意味着它不允许作为manifest标记的子项。请将其放在application标记下。

您链接的博客有错误信息,该信息也由documentation of Safe Browsing备份 - 此特定元数据位于应用标记下

答案 1 :(得分:0)

也可能已将所有标记和属性都放置在正确的Containing父标记中,但可能会遗漏放置:build.gradle文件中的versionCode,versionName和allowBackup。

要解决此问题,请尝试以下操作:

defaultConfig {
        applicationId "com.example.mypackagename"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
    }

AndroidManifest.xml文件中也有如下标记

android:platformBuildVersionCode

android:platformBuildVersionName

删除它们(它将通过gradle构建系统添加到清单中), 它对我有用。