我有一个几乎等于安卓快速入门原型的项目:
mvn archetype:generate
-DarchetypeArtifactId=android-quickstart
-DarchetypeGroupId=de.akquinet.android.archetypes
-DarchetypeVersion=1.0.11
-DgroupId=your.company
-DartifactId=my-android-application
我在pom中添加了一个aar依赖项.xml:
<dependency>
<groupId>com.my.company</groupId>
<artifactId>my-lib</artifactId>
<version>0.6.41-SNAPSHOT</version>
<type>aar</type>
</dependency>
并配置了android-maven-plugin来合并清单:
<pluginManagement>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
<mergeManifests>true</mergeManifests>
</configuration>
<version>${android.plugin.version}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</pluginManagement>
然后我做mvn clean install
.
我认为这将合并两个清单并将结果直接放入apk(my-app/target/my-app.apk/AndroidManifest.xml
年)。但相反,它覆盖了我原来的Android清单.xml(my-app/AndroidManifest.xml
)。
有没有办法保持原始的AndroidManifest.xml完整(就像Gradle在Android Studio中所做的那样)?
更新:
从 android-maven-plugin
4.1.0 开始,这是默认行为,不需要其他配置。
将这些行添加到您的configuration
:
<androidManifestFile>${project.build.directory}/AndroidManifest.xml</androidManifestFile>
<sourceManifestFile>${project.basedir}/AndroidManifest.xml</sourceManifestFile>
<updatedManifestFile>${project.build.directory}/AndroidManifest.xml</updatedManifestFile>
这应该首先复制原始清单,然后更新复制的文件。