ऐप

2012-11-06 7 views
7

बनाने के दौरान एंड्रॉइड-मेवेन-प्लगइन v3.4.0 को खोजने योग्य संसाधन नहीं मिल सकते हैं हाल ही में मैंने अपने एंड्रॉइड एप्लिकेशन को मैवेनाइज करना शुरू कर दिया। मेरे रास्ते पर बाधाओं में से एक निम्न है: बिल्ड मेवेन प्लगइन के दौरान ड्रॉबल्स नहीं मिल सकते हैं जो res निर्देशिका में लेआउट में उपयोग किए जाते हैं। मैं Android त्वरित आरंभ मूलरूप आदर्श का उपयोग करके पहले mavenizing tarted है:ऐप

mvn मूलरूप आदर्श: उत्पन्न -DarchetypeArtifactId = android-त्वरित प्रारंभ -DarchetypeGroupId = de.akquinet.android.archetypes -DarchetypeVersion = 1.0.8

तब मैं मैंने अपने सभी संसाधनों को आर्केटाइप द्वारा उत्पन्न रेस निर्देशिका में कॉपी किया है। आईएमएचओ यह पर्याप्त होना चाहिए। लेकिन यहाँ है कि मैं क्या करने के बाद 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_]

[जानकारी] डी: \ प्रोग्रामिंग \ myproj.com \ myproj \ myproj-android-app \ रेस \ लेआउट \ layout_1.xml: 8: त्रुटि: त्रुटि: कोई संसाधन नहीं मिला जो दिए गए नाम से मेल खाता है ('src' पर मूल्य '@ drawable/image')।

मुझे ऐसी कई त्रुटियां मिल रही हैं। वे सभी कह रहे हैं कि कुछ layout.xml फ़ाइल के लिए कोई संसाधन नहीं मिल सकता है। मैंने ऊपर दिए गए लॉग में प्रोजेक्ट और संसाधनों का नाम बदल दिया है। वास्तविक नाम myproj से अलग है। लेकिन इससे कोई फर्क नहीं पड़ता। Mavenizing के दौरान मैंने केवल archetype द्वारा उत्पन्न res निर्देशिका में संसाधनों की प्रतिलिपि बनाई है। रेस फ़ोल्डर में मैंने:

रेस/drawable रेस/drawable-hdpi रेस/drawable-mdpi रेस/drawable-ldpi रेस/लेआउट रेस/कच्चे res/values ​​ रेस/values- पी

मैं यह उल्लेख करना चाहता हूं कि एप्लिकेशन आइकन के लिए AndroidManifest.xml में ड्रॉ करने योग्य कोई समस्या नहीं है। सभी समस्याओं 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

ठीक है, मैं अपने समस्या को हल करने प्रबंधित किया है। यह वास्तव में बेवकूफ था। कुछ 9 पैच छवियों में समस्याएं थीं जो दूषित हैं। इसके परिणामस्वरूप निर्माण विफलता हुई। ऐसा लगता है कि ग्रहण एंड्रॉइड प्लगइन ड्रॉबल्स स्वीकार करता है जिसे 9 पैच छवि के रूप में चिह्नित किया जाता है, लेकिन वास्तव में वे नहीं होते हैं, और निर्माण पूरा किया जा सकता है ... जैसा कि मैवेन एंड्रॉइड प्लगइन की स्थिति अलग है। लेकिन अभी भी imho त्रुटि संदेश जो मैं प्राप्त कर रहा था अनुचित थे - वहां मुझे वास्तविक समस्या पर ध्यान केंद्रित नहीं किया। मैंने बहुत समय खो दिया है .. और मुझे यकीन है कि अगर मैं उन त्रुटि संदेशों को नहीं कहता कि "कोई संसाधन नहीं मिला है जो नाम दिए गए हैं" तो मुझे समाधान बहुत तेज़ लगेगा। उन त्रुटियों को प्लगइन द्वारा छोड़ा जाना चाहिए।

+0

+1 हाँ! मुझे एक ही समस्या का सामना करना पड़ा –

+1

तो समस्या का समाधान क्या था? अभी भी अस्पष्ट है कि आपने इसे कैसे ठीक किया है। – adrian

+0

आदर्श रूप से आप एक पुल अनुरोध प्रदान करेंगे जो त्रुटि संदेश को बेहतर बनाता है। –