Android apklib:Doublicate R.java

Android apklib:Doublicate R.java,java,android,maven,apklib,Java,Android,Maven,Apklib,我有一个依赖于apklib项目的Android项目。在apklib项目中,将生成一个R.java文件并打包到结果apklib文件中。Android项目通过Android插件解压并重建所有代码。因此,出现了一个双重R文件编译错误,导致插件尝试在Android项目中重建apklib项目资源的R文件 有什么问题?下面是pom文件中的片段: <?xml version="1.0"?><project xmlns="http://maven.apache.org/POM/4.0.0" x

我有一个依赖于apklib项目的Android项目。在apklib项目中,将生成一个R.java文件并打包到结果apklib文件中。Android项目通过Android插件解压并重建所有代码。因此,出现了一个双重R文件编译错误,导致插件尝试在Android项目中重建apklib项目资源的R文件

有什么问题?下面是pom文件中的片段:

<?xml version="1.0"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
...<packaging>apk</packaging><build>
    <plugins>
        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>android-maven-plugin</artifactId>
            <version>3.8.0</version>
            <extensions>true</extensions>
            <configuration>
                <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
                <assetsDirectory>${project.basedir}/assets</assetsDirectory>
                <resourceDirectory>${project.basedir}/res</resourceDirectory>
                <genDirectory>${project.basedir}/gen</genDirectory>
                <sdk>
                    <platform>15</platform>
                    <path>${android.sdk.path}</path>
                </sdk>
                <undeployBeforeDeploy>false</undeployBeforeDeploy>
                <emulator>MyAndroid</emulator>
                <device>usb</device>
                <dexOptimize>true</dexOptimize>
                <mergeManifests>true</mergeManifests>
            </configuration>
        </plugin>

        ...
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>4.0.1.2</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android-test</artifactId>
        <version>4.0.1.2</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>support-v4</artifactId>
        <version>r12</version>
    </dependency>

    ...

    <dependency>
        <groupId>my.group.id</groupId>
        <artifactId>artifact</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <type>apklib</type>
    </dependency>
</dependencies>
问题是apklib生成的R.java文件中的文件被aapt工具V.19复制到Android项目的gen文件夹中。我在这两个项目上都使用Windows平台、maven 3.1.1和android maven插件3.8.0

<?xml version="1.0"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><packaging>apklib</packaging>
<build>
    <plugins>
        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>android-maven-plugin</artifactId>
            <version>3.8.0</version>
            <extensions>true</extensions>
            <configuration>
                <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
                <assetsDirectory>${project.basedir}/assets</assetsDirectory>
                <resourceDirectory>${project.basedir}/res</resourceDirectory>
                <genDirectory>${project.basedir}/gen</genDirectory>
                <sdk>
                    <platform>15</platform>
                    <path>${android.sdk.path}</path>
                </sdk>
            </configuration>
        </plugin>

        ...
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>4.0.1.2</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android-test</artifactId>
        <version>4.0.1.2</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>support-v4</artifactId>
        <version>r12</version>
    </dependency>

    ...
</dependencies>