4

我有一个具有以下结构的库项目:

    <activity android:name="com.comp.package.activities.A1">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <activity android:name="com.comp.package.activities.A2">
    </activity>
    <activity android:name="com.comp.package.activities.A3">
    </activity>
    <activity android:name="com.comp.package.activities.A4">
    </activity>

在应用程序项目中,我希望合并的清单是:

    <activity android:name="com.comp.package.activities.A2">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <activity android:name="com.comp.package.activities.A1">
    </activity>
    <activity android:name="com.comp.package.activities.A3">
    </activity>
    <activity android:name="com.comp.package.activities.A4">
    </activity>

是否可以使用清单合并功能来实现这一点?

如果我尝试拥有

    <activity android:name="com.comp.package.activities.A2">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>

在应用程序项目的基本清单文件中,我收到以下错误。

  Trying to merge incompatible /manifest/application/activity[@name=com.comp.package.activities.A2] element:
  <activity
      @android:name="com.comp.package.activities.A2">
  --    <intent-filter>
  --        <action
  --            @android:name="android.intent.action.MAIN">
   <activity
      @android:name="com.comp.package.activities.A2">
  ++</activity>
  ++(end reached)
4

1 回答 1

10

将消费 app/lib 中的 AndroidManifest 更改为:

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
...
<activity android:name="com.comp.package.activities.A2">

至:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
...
<activity android:name="com.comp.package.activities.A2"
    tools:merge="override">
于 2014-02-25T07:18:51.383 回答