voy*_*ech 7 android android-maven-plugin
最近我开始对我的Android应用程序进行整理.我的方法之一是以下障碍:在构建过程中,maven插件无法找到res目录中布局中使用的drawable.我首先使用android快速启动原型进行了mavenizing:
mvn archetype:generate -DarchetypeArtifactId = android-quickstart -DarchetypeGroupId = de.akquinet.android.archetypes -DarchetypeVersion = 1.0.8
然后我将所有资源复制到archetype生成的res目录.恕我直言这应该足够了.但这是我在mvn clean install之后得到的:
[信息] --- Android的Maven的插件:3.4.0:APK(默认APK)@ missnanny-Android平台的应用程序--- [INFO]复制本地资产文件合并资产目录.[INFO] D:\ Environments\AndroidSDK\android-sdk\platform-tools\aapt.exe [package,-f,-M,D:\ Programming\myproj.com\myproj\myproj-android-app\MyprojManifest.xml ,-S,D:\ Programming\myproj.com\myproj\myproj-android-app\res, - auto-add-overlay,-A,D:\ Programming\myproj.com\myproj\myproj-android-app\target\generated-sources\combined-assets\assets,-I,D:\ Environments\AndroidSDK\android-sdk\platforms\android-7\android.jar,-F,D:\ Programming\myproj.com\myproj \的Myproj-机器人应用内\目标\的Myproj-机器人-APP-0.0.1-SNAPSHOT.ap_]
[INFO] D:\ Programming\myproj.com\myproj\myproj-android-app\res\layout\layout_1.xml:8:错误:错误:找不到与给定名称匹配的资源(在'src'处有值' @可绘制/图像").
我收到很多这样的错误.所有人都说没有资源可以找到某些layout.xml文件.我在上面的日志中更改了项目和资源的名称.真实姓名与myproj不同.但那应该不重要.在mavenizing期间,我只将资源复制到由archetype生成的res目录中.在res文件夹中我:
RES /抽拉RES /抽拉-HDPI RES /抽拉-MDPI RES /抽拉-LDPI RES /布局RES /原始RES /值RES /值-PL
我想提一下,在AndroidManifest.xml中为应用程序图标加载drawable是没有问题的.所有问题都与drawable.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>
Run Code Online (Sandbox Code Playgroud)
voy*_*ech 10
好的,我已经设法解决了我的问题.这真是太愚蠢了.大约9个补丁图像存在问题,这些图像已损坏.这导致构建失败.看来eclipse安卓插件接受标记为9补丁图像的drawables,但实际上它们不是,并且构建可以完成...至于maven android插件的情况则不同.但我仍然得到的imho错误消息是不适当的 - 这让我专注于不是真正的问题.我已经失去了很多时间..而且我确信如果没有那些错误消息说"找不到与给定名称匹配的资源",我会找到更快的解决方案.插件会跳过这些错误.
| 归档时间: |
|
| 查看次数: |
2542 次 |
| 最近记录: |