ข้อผิดพลาดในการคอมไพล์ Android Hello-World: Intellij ไม่พบ aapt


90

ฉันพยายามตั้งค่าสภาพแวดล้อมการพัฒนา Android โดยใช้ IntelliJ ใน Ubuntu 12.04 ฉันสร้างโมดูลแอปพลิเคชัน 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


ขอบคุณสำหรับคำตอบทั้งหมด! ฉันเปลี่ยนมาใช้Android Studio fork และมันก็ใช้งานได้ดี แต่ฉันคิดว่าโซลูชันอื่น ๆ เกี่ยวกับ symlinks หรือ android-maven-plugin อาจเหมาะสมกว่าสำหรับผู้ใช้ intellij รายอื่น ฉันคิดว่าสิ่งนี้จะได้รับการแก้ไขในการอัปเดตในไม่ช้า ...
jonS90

คำตอบ:


130

ดูเหมือนว่าการอัปเดตล่าสุดของ r22 SDK จะย้าย aapt และ lib jar จาก platform-tools ไปยังไดเร็กทอรี build-tools ในขณะที่เรารอให้ JetBrains ปล่อยอัปเดตนี่คือการแก้ไขด่วนโดยใช้ลิงก์สัญลักษณ์สองสามลิงก์:

จากไดเร็กทอรี AndroidSDK / platform-tools ของคุณให้เรียกใช้สิ่งต่อไปนี้:

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

... และ IntelliJ ควรจะคอมไพล์ได้ตามปกติ


21
สวัสดีสมบูรณ์แบบสำหรับฉันด้วย สำหรับข้อมูล: ฉันเรียกใช้ Intellij ใน Windows คุณสามารถเปิดพรอมต์ DOS ด้วยสิทธิ์ของผู้ดูแลระบบและเรียกใช้: 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
Francesco Pez

ยังต้องเพิ่ม:ln -s ../build-tools/17.0.0/aidl aidl
xaviert

3
หากคุณได้รับสิ่งนี้และดำเนินการ aapt โดยตรงยังบอกว่าไม่พบไฟล์คุณอาจมีปัญหา 64 บิต: ลิงค์
Tomas

@FrancescoPez ไม่ทำงานใน XP หรือในระบบที่ใช้ fat32 สำหรับ WinXP: schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
ยังมีผู้ใช้รายอื่น

สำหรับผู้ใช้ Windows 64Bit เช่น Francesco Pez กล่าวถึงเพียงคำใบ้สำหรับเส้นทางที่มีช่องว่าง: ใส่ทั้งสองเส้นทางในเครื่องหมายคำพูดเช่น mklink "C: \ Program Files \ androidsdk \ sdk \ platform-tools \ aapt.exe" "C: \ Program Files \ androidsdk \ sdk \ build-tools \ android-4.3 \ aapt.exe "
Christian Schäfer

21

อัปเดต IntelliJ ของคุณเป็น 12.1.4 โดยใช้รุ่นเบต้าเป็นช่องทางการอัปเดต ป้อนคำอธิบายภาพที่นี่


2
อย่างไรก็ตามสิ่งนี้ทำได้ฉันต้องเลือก EARLY RELEASES ซึ่งแสดงการอัปเดต. 4 จากนั้นเมื่อรีสตาร์ทฉันได้ 3.x ซึ่งฉันปฏิเสธ (Mac OS X 10.8.x)
Martin Marconcini

12

ใน Windows ก็พอที่จะคัดลอกเฉพาะaapt.exe, lib\dx.jarและdx.bat

จากbuild-tools \ android-4.2.2

ถึง

แพลตฟอร์มเครื่องมือ


10

ปัญหาเดียวกันนี้เกิดขึ้นกับฉันกับ android-studio แต่นี่อาจใช้กับ IntelliJ IDE ได้เช่นกัน

อย่างไรก็ตามเมื่อตรวจสอบตำแหน่งไฟล์ฉันเห็นว่าaaptอยู่ในตำแหน่งที่คาดไว้

ในกรณีของฉันปัญหาคือฉันใช้งานระบบ Ubuntu linux 64 บิตซึ่งไม่สามารถเรียกใช้งานปฏิบัติการ 32 บิตaaptได้

การติดตั้งไลบรารีที่เข้ากันได้ 32 บิตช่วยแก้ปัญหานี้ในกรณีของฉัน: sudo apt-get install ia32-libs


ดูเหมือนว่าia32-libsจะไม่สามารถใช้ได้กับ Ubuntu 13.10 ขึ้นไปอีกต่อไป
Chad Bingham

เพิ่ม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) ใช้ Android Build studio: http://developer.android.com/sdk/installing/studio.html 2) คัดลอก (สิ่งนี้สกปรก แต่ใช้งานได้) เนื้อหาทั้งหมดจาก build-tools / 17.0.0 / ไปยัง platform-tools / และมันจะสร้าง


อาปัญหาการอัปเดต ตกลงดังนั้นฉันเพิ่งพบว่า Google เปิดตัวAndroid สตูดิโอซึ่งเป็นทางแยกของ Intellij บางที Google อาจคาดหวังให้ผู้คนเปลี่ยนไปใช้ Android Studio แทนที่จะอัปเดต Intellij?
jonS90

ใช่พวกเขาเปิดเผยมัน (ดูประเด็นสำคัญของ Google I / O เมื่อวานนี้) โดยพื้นฐานแล้ว JideaCommunity + ให้ความสำคัญกับ Android มากขึ้น จากนั้นจะรวมเข้ากับ JideaPro (ฉันหวังว่าอย่างนั้น)
StErMi

2
ไม่ใช่ทางแยกจริงๆมันขึ้นอยู่กับการสร้างโปรแกรมก่อนการเข้าถึง เมื่อโครงสร้าง EAP กลายเป็น IntelliJ หลักแล้วจะมีคุณสมบัติเดียวกันกับที่ Android Studio มี
powerj1984


2

ขอบคุณสำหรับทิป! บน Mac ที่ใช้ Android 4.2.2 SDK สิ่งนี้ใช้งานได้ดี คุณเพียงแค่ต้องอัปเดตเส้นทางของคุณตามนั้น เช่น

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

โคลนปลั๊กอิน android-maven บน GitHub และติดตั้งใน repo ของคุณ

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

จากนั้นอัปเดต pom ของคุณให้ใช้ปลั๊กอินเวอร์ชัน 3.5.4-SNAPSHOT ทุกอย่างควรทำงานอย่างถูกต้อง!


อย่างไรก็ตามโปรดทราบว่าสิ่งนี้จะแก้ไขการสร้าง maven แต่ไม่ใช่การสร้าง IntelliJ สำหรับสิ่งนั้นวิธีแก้ปัญหาลิงก์สัญลักษณ์ควรช่วยได้จนกว่า IntelliJ จะแก้ไขได้
Andy Dennie

คุณควรจะพบเวอร์ชัน android-maven-plugin อยู่ที่ไหนสักแห่งใน IntelliJ conf ...
avianey

ระบบสร้าง IntelliJ ในตัวไม่ใช้ android-maven-plugin เพื่อให้ใช้งานได้คุณจะต้องทำการเชื่อมโยงสัญลักษณ์ และหากคุณทำลิงก์สัญลักษณ์คุณไม่จำเป็นต้องอัปเดตเป็นสแนปชอตล่าสุดของ android-maven-plugin ลิงก์จะแก้ไขทั้ง IntelliJ build และ android-maven-plugin ที่ไม่ใช่เวอร์ชันล่าสุด
Andy Dennie

ใช่ฉันมีสภาพแวดล้อม windows เริ่มหน้าต่าง DOS ในฐานะผู้ดูแลระบบจากนั้นใช้คำสั่ง mklink ไปที่ platform-tools จากนั้นสร้างลิงก์สำหรับ aapt.exe, aidl.exe, dexdump.exe, dx.bat และ lib \ dx.jar ไปยังคู่ของพวกเขาใน build-tools \ 17.0.0 และ build-tools \ 17.0 0 \ lib. หมายเหตุ: คุณจะต้องสร้างโฟลเดอร์ย่อย lib ภายใต้ platform-tools
Andy Dennie

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 Environmental ให้แทนที่% ANDROID_HOME% ด้วยพา ธ ไปยัง Android SDK ของคุณเช่น C: \ Android \ android-sdk



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.