2012-11-06 2 views
7

最近、私はアンドロイドアプリケーションを作成し始めました。途中の障害の1つは以下の通りです: ビルド中に、mavenプラグインはresディレクトリのレイアウトで使用されるドロアブルを見つけることができません。 私はアンドロイドクイックスタート原型を用いて第1 mavenizingをtartedました:アプリを構築するときにAndroid-Maven-Plugin v3.4.0で描画可能なリソースを見つけることができません

MVN原型:生成-DarchetypeArtifactId =アンドロイド-クイックスタート-DarchetypeGroupId = de.akquinet.android.archetypes -DarchetypeVersion =次に1.0.8

I archetypeによって生成されたresディレクトリにすべてのリソースをコピーしました。 IMHOこれで十分です。しかし、ここでMVNをクリーンインストールした後、私が得るものです:

[INFO] --- android-maven-plugin:3.4.0:apk (default-apk) @ missnanny-android-app --- [INFO] Copying local assets files to combined assets directory. [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-android-app\target\myproj-android-app-0.0.1-SNAPSHOT.ap_]

[INFO] D:\プログラミング\ myproj.com \にmyproj \にmyproj-アンドロイドアプリ\ RES \レイアウト\ layout_1.xml:8:エラー:エラー:指定された名前( 'src'の値が '@ drawable/image')と一致するリソースが見つかりませんでした。

私は多くのそのようなエラーが発生しています。それらのすべては、layout.xmlファイルの中にリソースが見つからないと言っています。私は上記のログのプロジェクトとリソースの名前を変更しました。実名はmyprojとは異なります。それは問題ではありません。 mavenizingの間、私はリソースをarchetypeによって生成されたresディレクトリにコピーしました。解像度フォルダ内の 私がしました:

のres /描画可能 のres /描画可能-hdpi のres /描画可能MDPI のres /描画可能LDPIを のres /レイアウト のres /生 のres /値 RES /値 - pl

アプリケーションアイコンのAndroidManifest.xmlにdrawableの読み込みに問題はありません。すべての問題はdrawable.xml

私のポンポンにレイアウトし、セレクタでconnecedされています

<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> 

答えて

10

[OK]を、私は私の問題を解決するために管理してきました。これは本当に馬鹿だった。破損している約9枚のパッチ画像に問題がありました。その結果、ビルドに失敗しました。 Eclipseのアンドロイドプラグインは9パッチイメージとしてマークされているドロアブルを受け入れているようですが、実際はそうではなく、ビルドは完了できます...アンドロイドプラグインの状況は異なります。しかし、私がやっていたimhoのエラーメッセージは、不適切なものでした。本当の問題に集中していませんでした。私は多くの時間を失ってしまっています。「リソースが見つかりませんでした。名前が一致しました」というエラーメッセージが表示されない場合は、はるかに迅速に解決策を見つけることができます。これらのエラーはプラグインによってスキップする必要があります。

+0

+1私は同じ問題に直面した –

+1

問題の解決策は何でしたか?あなたがそれをどのように修正したかはまだ不明です。 – adrian

+0

理想的には、エラーメッセージを改善するプルリクエストを提供します。 –

関連する問題