2012-11-06 9 views
7

Niedawno zacząłem mavenizing mojej aplikacji Android. Jedna z przeszkód na mojej drodze jest następująca: Podczas budowania maven plugin nie może znaleźć rysunków, które są używane w układach w katalogu res. Mam tarted mavenizing najpierw za pomocą android szybkiego startu Archetyp:Android-Maven-Plugin v3.4.0 nie może znaleźć zasobów do pobrania podczas budowania aplikacji

mvn archetyp: generowanie -DarchetypeArtifactId = android-quickstart -DarchetypeGroupId = de.akquinet.android.archetypes -DarchetypeVersion = 1.0.8

Potem skopiowałem wszystkie moje zasoby do katalogu res wygenerowanego przez archetyp. IMHO powinno to wystarczyć. Ale o to, co otrzymuję po mvn czystej instalacji:

[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: \ Programowanie \ myproj.com \ myproj \ myproj-android-app \ Res \ layout \ layout_1.xml: 8: error: Błąd: nie znaleziono zasobu pasującego do podanej nazwy (w 'src' z wartością '@ drawable/image').

Otrzymuję wiele takich błędów. Wszyscy mówią, że nie można znaleźć żadnego zasobu dla jakiegoś pliku layout.xml. Zmieniłem nazwę projektu i zasobów w powyższym logu. Prawdziwe imię jest inne niż myproj. ale to nie powinno mieć znaczenia. Podczas tworzenia materiałów tylko skopiowałem zasoby do katalogu res wygenerowanego przez archetyp. w folderze res mam:

RES/rozciągliwej RES/odkształcalne-hdpi RES/rozciągliwej-MDPI RES/rozciągliwej-ldpi res/layout res/raw res/wartości res/values- pl

Chciałbym wspomnieć, że nie ma problemu z ładowaniem rysowania w AndroidManifest.xml dla ikony aplikacji. Wszystkie problemy są conneced z układu i selektorów w drawable.xml

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

Odpowiedz

10

Ok, udało mi się rozwiązać mój problem. To było naprawdę głupie. Wystąpiły problemy z kilkoma 9 obrazami, które są uszkodzone. Spowodowało to awarię kompilacji. Wygląda na to, że wtyczka Eclipse dla Androida akceptuje rysunki, które są oznaczone jako 9 obrazków, ale w rzeczywistości tak nie jest, a kompilacja może być zakończona ... Co do mavenów, sytuacja na Androidzie jest inna. Ale nadal wiadomości o błędach, które otrzymywałem, były nieodpowiednie - nie skupiałem się na prawdziwym problemie. Straciłem dużo czasu i jestem pewien, że znalazłbym rozwiązanie znacznie szybciej, gdyby nie było komunikatów o błędach mówiących, że "nie znaleziono zasobu odpowiadającego danemu imieniu". Błędy te powinny być pomijane przez wtyczkę.

+0

+1 Tak! Zmierzyłem się z tym samym problemem –

+1

Jakie było rozwiązanie tego problemu? Nadal nie wiadomo, jak to naprawiłeś. – adrian

+0

Idealnie byłoby podać żądanie ściągnięcia, które poprawia komunikat o błędzie. –

Powiązane problemy