1

我已经将一些AOSP 代码导入到我的应用程序中,并且在执行processDebugAndroidTestManifest任务期间,它会抛出java.lang.RuntimeException

错误:任务 ':contacts_common:processDebugAndroidTestManifest' 执行失败。java.lang.RuntimeException:清单合并失败:来自 [gcs:contacts_provider:unspecified] 的属性 path-permission@pathPrefix value=(/search_suggest_query) AndroidManifest.xml:31:17-59 也存在于 [gcs:contacts_provider:unspecified] AndroidManifest.xml:34:17-62 值=(/search_suggest_shortcut)。建议:将 'tools:replace="android:pathPrefix"' 添加到 manifestMerger6750235787399637901.xml 中的元素以覆盖。

这很奇怪,因为我确信前一段时间的明显合并没有引起反对。

我无法添加'tools:replace="android:pathPrefix"'元素,因为我需要同时使用这两个权限,就像在 AOSP 中一样。

如何pathPrefixes在提供程序中使用两个不同的?

这是我的provider

<provider
        android:name="some_name"
        android:authorities="some_authorities"
        android:exported="false"
        android:label="@string/provider_label"
        android:multiprocess="false" >
        <path-permission
            android:pathPrefix="/search_suggest_query"
            android:readPermission="android.permission.GLOBAL_SEARCH" />
        <path-permission
            android:pathPrefix="/search_suggest_shortcut"
            android:readPermission="android.permission.GLOBAL_SEARCH" />
        <path-permission
            android:pathPattern="/contacts/.*/photo"
            android:readPermission="android.permission.GLOBAL_SEARCH" />

        <grant-uri-permission android:pathPattern=".*" />
</provider>

使用./gradlew assembleDebug效果很好。仅在 Android Studio 中引发异常。

我正在使用 Android Studio 2.1.1,构建 gradle 工具 2.0.0 和 2.1.0。

4

0 回答 0