如何在清单中创建低优先级属性将属性生成到Android中的高优先级清单

时间:2017-02-24 19:05:34

标签: android android-manifest

我有一个安卓库,我想设置autoBackUp逻辑,以提供更好的用户体验。我知道它在Android M之后成为默认行为,我也想要处理以前的API但是继承BackupAgent

这是我的图书馆AndroidManifest.xml

<manifest 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="mypackage">
    <application 
       android:allowBackup="true"              // feature 1
       android:backupAgent=".mBackupAgent"/>   // feature 2
</manifest>

这是我的测试应用AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.paypal.android.lib.riskcomponentsample" >

<application
    android:allowBackup="false"   // feature 1
    android:backupAgent=".test"   // feature 2
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    ...
 </manifest>

这些清单导致合并冲突,因为它们具有相同的属性。

由于它位于库范围内,我只能修改SDK中的AndroidManifest.xml(低优先级)。我没有访问应用程序级别(高优先级)。我想在清单中指定属性,但是当merge logic发生时,如何在没有潜在冲突的情况下执行此操作?

例如,如果任何更高优先级的清单具有相同的属性,那么我将把属性赋予更高优先级的属性。但如果没有,那么我希望应用程序采用我的属性。

0 个答案:

没有答案