2013-05-17 16 views
42

मैं इस ट्यूटोरियल का पालन करने की कोशिश कर रहा था नहीं मिल सका चरण मुझे यह मिला:एंड्रॉयड Maven उपकरण 'aapt'

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: Defaulting to no-operation (NOP) logger implementation 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 
[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building tutorial 0.0.1-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- android-maven-plugin:3.1.1:generate-sources (default-generate-sources) @ tutorial --- 
[INFO] ANDROID-904-002: Found aidl files: Count = 0 
[INFO] ANDROID-904-002: Found aidl files: Count = 0 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.889s 
[INFO] Finished at: Sat May 18 00:32:12 CEST 2013 
[INFO] Final Memory: 8M/111M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:generate-sources (default-generate-sources) on project tutorial: Execution default-generate-sources of goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:generate-sources failed: Could not find tool 'aapt'. Please provide a proper Android SDK directory path as configuration parameter <sdk><path>...</path></sdk> in the plugin <configuration/>. As an alternative, you may add the parameter to commandline: -Dandroid.sdk.path=... or set environment variable ANDROID_HOME. -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException 

मैंने कई बार कोशिश की है, लेकिन बिना किसी किस्मत के। मेरे पास विंडोज 7 64 बिट पर एलीप्से जूनो है, एपीके टूल स्थापित है और मैवेन 3.0.5 है।

ऐसा लगता है Maven कर्मचारियों के लिए एक अच्छी तरह से ज्ञात समस्या:

https://code.google.com/p/maven-android-plugin/issues/detail?id=104

लेकिन यह उम्र से हल किया जाना चाहिए ...

मेरे पर्यावरण उपयोगकर्ता चर:

M2_HOME=C:\Program Files\Java\apache-maven-3.0.5 

ANDROID_HOME=C:\adt-bundle-windows-x86_64-20130514\sdk 

मेरे पर्यावरण प्रणाली चर:

Path=......;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools;%ANDROID_HOME%\platforms;%M2_HOME%\bin;%ANDROID_HOME%\build-tools\android-4.2.2 

क्या कोई इस जाल को कसरत करने के बारे में जानता है?

धन्यवाद!

उत्तर

95

मुझे Google से नवीनतम एडीटी का उपयोग करते समय और बूटस्ट्रैप एंड्रॉइड प्लेटफ़ॉर्म को संकलित करने का प्रयास करते समय भी एक ही समस्या का सामना करना पड़ा।

नवीनतम आर 17 बिल्ड-टूल्स फ़ोल्डर में aapt को अलग करें। इसलिए यह maven-android-plugin इसका समर्थन नहीं कर सकता है।

चर्चा देखें here

की कोशिश की और काम कर रहे:

cd $ANDROID_HOME/platform-tools 
ln -s ../build-tools/17.0.0/aapt aapt 
ln -s ../build-tools/17.0.0/lib lib 
ln -s ../build-tools/17.0.0/aidl aidl 

ध्यान रखें कि इस नवीनतम संस्करण में तय हो गई है (> 3.5.3):

cd $ANDROID_HOME/platform-tools 
ln -s ../build-tools/android-4.2.2/aapt aapt 
ln -s ../build-tools/android-4.2.2/lib lib 
ln -s ../build-tools/android-4.2.2/aidl aidl 

कुछ प्रतिष्ठानों एपीआई संस्करण का उपयोग कर संरचित किया जा सकता है एंड्रॉइड मेवेन प्लगइन का, जैसा कि अन्य उत्तरों बताते हैं।

+3

ओह मैं देखता हूं .. यह स्पष्ट है। मैंने सोचा कि मैं पर्यावरण पथ के लिए "% ANDROID_HOME% \ build-tools \ android-4.2.2" कथन जोड़ रहा हूं ... वैसे भी मैं क्षमा चाहता हूं लेकिन क्या उन आदेशों को विंडोज़ में जोड़ने का कोई तरीका है? क्या मैं पर्यावरण जोड़ पथ के लिए इस संलग्न lib, aapt और helpl कसरत कर सकता हूँ? –

+0

मैंने यह भी देखा है कि नई एसडीके संरचना के लिए एक फिक्स है: https://github.com/jayway/maven-android-plugin/pull/205 मुझे समझ में नहीं आया कि मुझे कहां रखना है नई कक्षा ... –

+0

मुझे संदेह था कि एमकेलिंक के साथ भी मेरे जैसे विंडोज उपयोगकर्ता, एंड्रॉइड_एचओएमई के मुलायम लिंक को जोड़ नहीं सकते हैं और इसलिए बर्बाद हो गए हैं ... –

14

यदि आप विंडोज का उपयोग कर रहे हैं, तो प्रतीकात्मक लिंकिंग mklink कमांड का उपयोग करके किया जा सकता है।

D:\>cd "Program Files (x86)\Android\android-sdk" 

D:\Program Files (x86)\Android\android-sdk>cd platform-tools 

D:\Program Files (x86)\Android\android-sdk\platform-tools>mklink aapt.exe ..\build-tools\17.0.0\aapt.exe 
symbolic link created for aapt.exe <<===>> ..\build-tools\17.0.0\aapt.exe 

D:\Program Files (x86)\Android\android-sdk\platform-tools>mklink aidl.exe ..\build-tools\17.0.0\aidl.exe 
symbolic link created for aidl.exe <<===>> ..\build-tools\17.0.0\aidl.exe 

D:\Program Files (x86)\Android\android-sdk\platform-tools>mklink /d lib ..\build-tools\17.0.0\lib 
symbolic link created for lib <<===>> ..\build-tools\17.0.0\lib 
+0

इससे मेरे लिए समस्या हल हो गई (अभी के लिए)। अब हमें नई संरचना का समर्थन करने के लिए एंड्रॉइड मेवेन प्लगइन की प्रतीक्षा करनी होगी। – JesperB

21

अद्यतन:

यह Android Maven Plugin v3.6.0 के बाद से हल किया गया है। यदि आप IntelliJ v12.x का उपयोग करते हैं तो अब आपको केवल इन सिम्लिंक की आवश्यकता होगी। IntelliJ v13 EAP + बॉक्स से बाहर काम करना चाहिए।

मूल जवाब:

यह तय किया गया है और साथ एंड्रॉयड Maven प्लगइन v3.5.4 जारी किया जाएगा।GitHub पुल अनुरोध देखें:

Upgraded AndroidSdk to use path and platform utilities from sdklib

आप स्नैपशॉट निर्माण जो अपने pom.xml के लिए निम्न जोड़कर समाधान शामिल है मान्य कोशिश कर सकते हैं:

<plugin> 
    <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
    <artifactId>android-maven-plugin</artifactId> 
    <version>3.5.4-SNAPSHOT</version> 
    ... 
</plugin> 
... 
<pluginRepositories> 
    <pluginRepository> 
    <id>oss.sonatype.org-jayway-snapshots</id> 
    <name>Jayway OpenSource SNAPSHOTs on Sonatype.org</name> 
    <url>http://oss.sonatype.org/content/repositories/jayway-snapshots/</url> 
    <snapshots> 
     <enabled>true</enabled> 
    </snapshots> 
    </pluginRepository> 
</pluginRepositories> 

डेवलपर समूह पर प्रतिक्रिया दें :

New snapshot for 3.5.4 available

+0

ने संस्करण को 3.6.0 में बदल दिया और यह काम करता है। धन्यवाद। – tmin

+0

संस्करण 3.5.3 काम नहीं करता है। मैं 3.5.3 चल रहा एक ही मुद्दे में भाग गया मैंने अभी तक 3.5.4 या 3.6.0 की कोशिश नहीं की है। –

0

मैं एक ही समस्या के साथ अटक जाते हैं। आखिरकार मैंने दो घंटों के बाद इस मुद्दे को हल करने में कामयाब रहे। यह आसान बनाने के लिए और 5 मिनट में समस्या को हल करने मैं

नीचे चरण सूचीबद्ध

चरण 1 - ग्रहण में बीटा रिलीज लिंक http://rgladwell.github.io/m2e-android/updates/master/

का उपयोग कर 0.4.3.2013 करने के लिए अपने एंड्रॉयड Maven प्लगइन अद्यतन चरण 2

 <plugin> 
     <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
     <artifactId>android-maven-plugin</artifactId> 
     <version>3.6.1</version> 
     <configuration> 
      <sdk> 
       <platform>17</platform> 
      </sdk> 
     </configuration> 
    </plugin> 

यह निम्न समस्याओं का समाधान होगा

"No Android Platform Version/API Level has been configured"

Could not find tool 'aapt'

आशा है कि यह मदद करता है

0

मैं भी इसी तरह की समस्या थी।

निम्न चरणों के द्वारा हल:

1) अपग्रेड Maven 2 3.1.1 करने के लिए) का उपयोग करें android-Maven, प्लगइन 3.6.1 जनसंपर्क अधिक से अधिक [मैं इस्तेमाल किया 3.8.0] 3) का प्रयोग करें Maven-dependency- प्लगइन 2.8

आप नवीनतम एंड्रॉयड एसडीके [पूर्व: 4.3] के खिलाफ का निर्माण करना चाहते हैं, तो निम्न अतिरिक्त चरणों का पालन - mvn स्थापित) 4 स्थापित android.jar आदेश का उपयोग कर की स्थानीय प्रतिलिपि: installFile .. 5) सेट 18

उम्मीद है कि इससे मदद मिलती है।

संबंधित मुद्दे