Android Hello-World संकलन त्रुटि: Intellij aapt नहीं पा सकता है


90

मैं Ubuntu 12.04 में IntelliJ का उपयोग करके एक Android विकास वातावरण के साथ स्थापित होने की कोशिश कर रहा हूं। मैं एक Android एप्लिकेशन मॉड्यूल बनाता हूं, लेकिन जब मैं बनाने की कोशिश करता हूं, तो मुझे निम्न त्रुटि मिलती है:

android apt-compiler: प्रोग्राम रन नहीं कर सकता है "/ home / jon / Programs / android-sdk-linux / platform-tools / aapt": java.io.IOException: error = 2, ऐसी कोई फ़ाइल या निर्देशिका नहीं है

इंटरनेट के कई घंटे मदद नहीं की है।

वैसे, मैं locate aaptटर्मिनल में भाग गया और पाया कि aaptयह स्थित है/home/jon/Programs/android-sdk-linux/build-tools/17.0.0/aapt


खैर, सभी उत्तर के लिए धन्यवाद दोस्तों! मैंने एंड्रॉइड स्टूडियो फोर्क में स्विच किया , और यह ठीक काम कर रहा है। लेकिन मुझे लगता है कि सहानुभूति या एंड्रॉइड-मावेन-प्लगइन के बारे में अन्य समाधान अन्य इंटेलीज उपयोगकर्ताओं के लिए अधिक उपयुक्त हो सकते हैं। मुझे लगता है कि यह समय के एक मामले में एक अद्यतन में तय हो जाएगा ...
jonS90

जवाबों:


130

ऐसा प्रतीत होता है कि r22 SDK रिलीज़ के लिए नवीनतम अद्यतन aapt और lib जार को प्लेटफ़ॉर्म-टूल्स से बिल्ड-टूल डायरेक्टरी में ले गया। जब हम JetBrains को अपडेट जारी करने के लिए प्रतीक्षा करते हैं, तो यहां प्रतीकात्मक लिंक के एक जोड़े का उपयोग करके एक त्वरित सुधार है:

अपने AndroidSDK / प्लेटफ़ॉर्म-टूल निर्देशिका से, निम्न चलाएँ:

ln -s ../build-tools/17.0.0/aapt aapt
ln -s ../build-tools/17.0.0/lib lib

... और इंटेलीज को सामान्य रूप से संकलन करने में सक्षम होना चाहिए।


21
हाय, मेरे लिए भी सही। बस जानकारी के लिए: मैं विंडोज के तहत इंटेलीज को चलाता हूं, आप व्यवस्थापक विशेषाधिकारों के साथ एक डॉस प्रॉम्प्ट खोल सकते हैं, और चला सकते हैं: mklink D:\Android\android-sdk\platform-tools\aapt.exe D:\Android\android-sdk\build-tools\17.0.0\aapt.exeऔर mklink /D D:\Android\android-sdk\platform-tools\lib D:\Android\android-sdk\build-tools\17.0.0\lib
फ्रांसेस्को Pez 20'13

इसके अलावा जोड़ना था:ln -s ../build-tools/17.0.0/aidl aidl
xaviert

3
यदि आप इसे प्राप्त कर रहे हैं और सीधे aapt को निष्पादित कर रहे हैं तो यह भी कहते हैं कि फ़ाइल नहीं मिली, आपको 64-बिट समस्या हो सकती है: लिंक
टॉमस

@FrancescoPez XP या सिस्टम में fat32 का उपयोग करके काम नहीं करता है। WinXP के लिए: schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
एक और उपयोगकर्ता

विंडोज 64Bit उपयोगकर्ताओं के लिए फ्रांसेस्को Pez जैसे रिक्त स्थान के साथ पथ के लिए संकेत का उल्लेख किया: उद्धरण चिह्नों में दोनों पथ जैसे mklink "C: \ Program Files \ androidsdk \ sdk \ platform-tools \ aapt.exe" "C: \ Program Files \" androidsdk \ sdk \ build-tools \ android-4.3 \ aapt.exe "
क्रिश्चियन

21

अद्यतन चैनल के रूप में बीटा रिलीज़ का उपयोग करके अपने IntelliJ को 12.1.4 पर अपडेट करें यहां छवि विवरण दर्ज करें


2
यह ऐसा किया था, हालाँकि, मुझे EARLY RELEASES का चयन करना था, उसने .4 अपडेट दिखाया, फिर जब उसने पुनः आरंभ किया तो मुझे 3.x मिला जिसे मैंने अस्वीकार कर दिया। (मैक ओएस एक्स 10.8.x)
मार्टिन मार्कोसिनी

12

विंडोज में यह केवल कॉपी करने के लिए पर्याप्त है aapt.exe, lib\dx.jarऔरdx.bat

से निर्माण उपकरण \ android-4.2.2

सेवा

मंच-उपकरण


10

एंड्रॉइड-स्टूडियो के साथ मेरे लिए भी यही समस्या थी। लेकिन, यह संभवतः इंटेलीज आईडीई पर भी लागू होता है।

जब मैंने देखी गई फ़ाइल स्थान की जाँच की, तो वह aaptअपेक्षित स्थान पर थी।

मेरे मामले में मुद्दा यह था कि मैं 64-बिट उबंटू लिनक्स सिस्टम चला रहा था, जो 32-बिट aaptनिष्पादन योग्य निष्पादित नहीं कर सकता है ।

32-बिट संगतता लाइब्रेरी स्थापित करने से मेरे मामले में यह समस्या हल हो गई: sudo apt-get install ia32-libs


ऐसा लगता है ia32-libsकि अब उबंटू 13.10 और ऊपर के लिए उपलब्ध नहीं है।
चाड बिंघम

जोड़े deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverseको /etc/sources.listहै, तो sudo apt-get updateऔर फिरsudo apt-get install ia32-libs
Mendhak

6

मैं इसे लाइन कमांड के साथ हल करता हूं

ln -s ~/Programs/android-sdk-linux/build-tools/17.0.0/aapt ~/Programs/android-sdk-linux/platform-tools/aapt
ln -s ~/Programs/android-sdk-linux/build-tools/17.0.0/lib ~/Programs/android-sdk-linux/platform-tools/lib

3

मैंने इसे भी नोटिस किया।

ADT को अपडेट कर दिया गया है और उन्होंने इस नए बिल्ड-टूल्स को जोड़ा है जहां उन्होंने सब कुछ स्थानांतरित कर दिया है। Intellijidea पथों को अपडेट नहीं कर रहा है इसलिए यह पुराने पथ में aapt की खोज कर रहा है।

मुझे नहीं पता कि इसे कैसे हल किया जाए, इसलिए मुझे बताएं कि क्या आपको कोई समाधान मिल रहा है ...

अपडेट करें:

मुझे लगता है कि आपके पास केवल 2 विकल्प हैं:

1) एंड्रॉइड बिल्ड स्टूडियो का उपयोग करें: http://developer.android.com/sdk/installing/studio.html 2) कॉपी (यह गंदा है लेकिन काम करता है) बिल्ड-टूल्स / 17.0.0 / से प्लेटफॉर्म-टूल्स तक सभी सामग्री और यह निर्माण होगा


आह, एक अद्यतन मुद्दा। ठीक है, इसलिए मैंने पाया कि Google ने एंड्रॉइड स्टूडियो को जारी किया , जो कि इंटेलीज का एक कांटा है। हो सकता है कि Google को उम्मीद है कि लोग Intellij को अपडेट करने के बजाय Android Studio में स्विच करेंगे ?
jonS90

हाँ, उन्होंने इसे पुनः जारी किया (कल Google I / O मुख्य वक्ता के रूप में देखें)। यह मूल रूप से JideaCommunity + Android पर अधिक ध्यान केंद्रित करता है। फिर इसे JideaPro (मुझे आशा है) के साथ विलय कर दिया जाएगा।
StErMi

2
यह वास्तव में कांटा नहीं है, यह अर्ली एक्सेस प्रोग्राम बिल्ड पर आधारित है। एक बार जब EAP बिल्ड मेनलाइन इंटेलीज हो जाता है तो इसमें वही फीचर होंगे जो Android Studio के पास हैं।
पॉवरज १


2

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

ln -s ../build-tools/android-4.2.2/lib lib

ln -s ../build-tools/android-4.2.2/aapt aapt


1

मैं इस समस्या में भाग गया लेकिन Android-maven-plugin और आपके आइटम # 2 के एक संस्करण के रूप में फ़ाइल की प्रतिलिपि बनाने के बजाय मैंने केवल aapt के लिए एक प्रतीकात्मक / नरम लिंक बनाया

cd platform-tools
ln -s ../build-tools/17.0.0/aapt ./

ऐसा लगता है कि मेरे सभी बिल्ड फिर से काम कर रहे हैं।


1

GitHub पर Android-maven-plugin को क्लोन करें और इसे अपने रेपो में इंस्टॉल करें

git clone https://github.com/jayway/maven-android-plugin.git
cd ... / maven-android-plugin /
mvn clean install

फिर प्लगइन के संस्करण 3.5.4-स्नैपशॉट का उपयोग करने के लिए अपने पोम को अपडेट करें। सब कुछ ठीक से काम करना चाहिए!


ध्यान दें, हालांकि, यह मावेन बिल्ड को ठीक करेगा, लेकिन इंटेलीज बिल्ड नहीं। उसके लिए, प्रतीकात्मक लिंक वर्कअराउंड तब तक मदद करनी चाहिए जब तक कि IntelliJ इसे ठीक नहीं करता है।
एंडी डेनी

आप IntelliJ conf में कहीं-कहीं एंड्रॉइड-मावेन-प्लगइन संस्करण ढूंढने में सक्षम होना चाहिए ...
avianey

बिल्ट-इन इंटेलीज बिल्ड सिस्टम एंड्रॉइड-मावेन-प्लगइन का उपयोग नहीं करता है। इसे काम करने के लिए, आपको प्रतीकात्मक लिंक करने की आवश्यकता होगी। और अगर आप प्रतीकात्मक लिंक करते हैं, तो आपको एंड्रॉइड-मावेन-प्लगइन के नवीनतम स्नैपशॉट को अपडेट करने की आवश्यकता नहीं होनी चाहिए; लिंक दोनों IntelliJ बिल्ड और एंड्रॉइड-मावेन-प्लगइन के गैर-नवीनतम संस्करण को ठीक करेंगे।
एंडी डेनी

हां, मेरे पास खिड़कियों का माहौल है। व्यवस्थापक के रूप में डॉस विंडो शुरू करें, फिर mklink कमांड का उपयोग करें। प् 0 \ lib। नोट: आपको प्लेटफ़ॉर्म-टूल्स के तहत lib सबफ़ोल्डर बनाने की आवश्यकता होगी।
एंडी डेनी

0

मैंने इन तीन कमांडों को चलाया और मेरी समस्या का समाधान किया गया

mklink "%ANDROID_HOME%\platform-tools\aapt.exe" "%ANDROID_HOME%\build-tools\17.0.0\aapt.exe"

mklink /D "%ANDROID_HOME%\platform-tools\lib" "%ANDROID_HOME%\build-tools\17.0.0\lib"

mklink "%ANDROID_HOME%\platforms\android-17\tools" "%ANDROID_HOME%\build-tools\17.0.0\aidl.exe"

यदि आपने ANDROID_HOME पर्यावरण वैरिएबल% ANDROID_HOME% को अपने Android SDK पथ के साथ सेट नहीं किया है जैसे C: \ Android \ android-sdk



0

एक बार फिर अच्छाई। बस इस तरह की एक त्रुटि स्वच्छ परियोजना के लिए और आप जाने के लिए अच्छे हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.