AndroidManifest合并在合并路径权限时失败

时间:2016-05-16 14:10:57

标签: android android-studio android-manifest manifest-merging

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

  

错误:任务':contacts_common:processDebugAndroidTestManifest'执行失败。   java.lang.RuntimeException:清单合并失败:属性path-permission @ pathPrefix value =(/ search_suggest_query)来自[gcs:contacts_provider:unspecified] AndroidManifest.xml:31:17-59       也出现在[gcs:contacts_provider:unspecified] AndroidManifest.xml:34:17-62 value =(/ search_suggest_shortcut)。       建议:添加'工具: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。

0 个答案:

没有答案