构建应用程序时,Android-Maven-Plugin v3.4.0找不到可绘制的资源



最近我开始对我的Android应用程序进行破坏。路上的障碍之一是:在构建Maven插件期间,找不到Res Directory中布局中使用的可抽签。我首先使用Android快速启动原型来戒指:

mvn原型:生成-darchetypeartifactid = android -QuickStart -darchetypegroupid = de.akquinet.android.archetypes -darchetypeversion = 1.0.8

然后,我将所有资源复制到原型生成的RES目录。恕我直言,这应该足够。但这是我在MVN CLEAN安装后得到的:

[info] --- android-maven-plugin:3.4.0:apk(default-apk) @ missnanny-andnanny-android-app ------- [信息]将本地资产文件复制到合并资产目录。 [info] d: vroments androidsdk android-sdk platform-tools aapt.exe [package,-f,-m,d: programming myproj.com myproj myproj myproj myproj-android-app myprojmanifest myprojmanifest myprojmanifest.xml,-s,d: programming myproj.com myproj myproj myproj-android-app res,-auto-add-overlay,-a,d: programming myproj com target 生成的sources combined-assets Assets,-i,d: emoverments androidsdk android-sdk android-sdk platforms android-7 android-7 android.jar,-f,d: myproj-android-app target myproj-android-app-0.0.0.1-snapshot.ap _]

[info] d: programming myproj.com myproj myproj myproj-android-app res res layout layout layout_1.xml:8:error:error:错误:错误:没有资源找到与给定名称相匹配的资源(在'src'上带有值"@drawable/image")。

我遇到了很多这样的错误。他们所有人都在说,对于某些layout.xml文件,找不到资源。我在上面的日志中更改了项目和资源的名称。真名与myproj不同。但这没关系。在Mavenized期间,我仅将资源复制到原型生成的RES目录中。在Res文件夹中,我:

res/drawableres/drawable-HDPIres/drawable-mdpires/drawable-ldpires/布局res/rawRES/值res/values-pl

我想提到的是,在AndroidManifest.xml中为应用程序图标加载没有问题。所有问题均与drawable.xml中的布局和选择器连接。xml

我的pom:

<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>pl.comapny.groupid</groupId>
    <artifactId>projectid</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>appname-android-app</artifactId>
<packaging>apk</packaging>
<name>appname-android-app</name>
<properties>
    <platform.version> 2.1.2 </platform.version>
</properties>
<dependencies>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>${platform.version}</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>pl.company.groupid</groupId>
        <artifactId>artifact</artifactId>
        <version>${project.version}</version>           
    </dependency>
</dependencies>
<build>
    <resources>
      <resource>
         <directory>${project.basedir}/res</directory>
         <filtering>true</filtering>
      </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <!-- <executions>
                <execution>  
                    <phase>initialize</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.basedir}/res</outputDirectory>
                        <resources>
                            <resource>
                                <directory>${project.basedir}/src/templates/res</directory>
                                <targetPath>${project.basedir}/res</targetPath>
                                <filtering>true</filtering>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions> -->
        </plugin>
        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>android-maven-plugin</artifactId>
            <version>3.4.0</version> <!--3.4.0, 3.1.1, 3.0.0-alpha-14-->
            <configuration>
                <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
                <assetsDirectory>${project.basedir}/assets</assetsDirectory>
                <resourceDirectory>${project.basedir}/res</resourceDirectory> 
                <!-- <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory> -->
                <sdk>
                    <platform>7</platform>
                </sdk>
                <undeployBeforeDeploy>true</undeployBeforeDeploy>
            </configuration>
            <extensions>true</extensions>
        </plugin>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
</build>

好吧,我已经设法解决了我的问题。这真的很愚蠢。一些损坏的9个补丁图像存在问题。这导致构建失败。似乎Eclipse Android插件接受了标记为9个补丁图像的可绘制物,但实际上不是,并且可以完成构建...至于Maven Android插件的情况不同。但是,我收到的恕我直言错误的消息仍然是不适合的 - 在那里,我专注于真正的问题。我损失了很多时间。而且,如果没有这些错误消息说"没有找到给定名称匹配的资源",我敢肯定,我会找到一个解决方案。这些错误应通过插件跳过。

相关内容

  • 没有找到相关文章

最新更新