Lỗi biên dịch Android Hello-World: Intellij không thể tìm thấy aapt


90

Tôi đang cố gắng thiết lập môi trường phát triển Android bằng IntelliJ trong Ubuntu 12.04. Tôi tạo Mô-đun ứng dụng Android, nhưng khi cố tạo, tôi gặp lỗi sau:

android-apt-compiler: Không thể chạy chương trình "/ home / jon / Programs / android-sdk-linux / platform-tools / aapt": java.io.IOException: error = 2, Không có tệp hoặc thư mục nào như vậy

Vài giờ tìm kiếm trên mạng cũng không giúp được gì.

Nhân tiện, tôi đã chạy locate aapttrong nhà ga và thấy rằng aaptnó nằm ở/home/jon/Programs/android-sdk-linux/build-tools/17.0.0/aapt


Vâng, cảm ơn vì tất cả các câu trả lời! Tôi đã chuyển sang fork Android Studio và nó hoạt động tốt. Nhưng tôi nghĩ các giải pháp khác liên quan đến liên kết tượng trưng hoặc android-maven-plugin có thể thích hợp hơn cho những người dùng intellij khác. Tôi cho rằng điều này sẽ được khắc phục trong một bản cập nhật trong một thời gian ngắn ...
jonS90

Câu trả lời:


130

Có vẻ như bản cập nhật mới nhất cho bản phát hành SDK r22 đã chuyển aapt và lib jar từ công cụ nền tảng sang thư mục công cụ xây dựng. Trong khi chúng tôi chờ JetBrains phát hành bản cập nhật, đây là một bản sửa lỗi nhanh chóng bằng cách sử dụng một số liên kết tượng trưng:

Từ thư mục AndroidSDK / platform-tools của bạn, hãy chạy như sau:

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

... và IntelliJ sẽ có thể biên dịch như bình thường.


21
Xin chào, hoàn hảo cho tôi. Chỉ để biết thông tin: Tôi chạy Intellij trong Windows, bạn có thể mở lời nhắc DOS với các đặc quyền của quản trị viên và chạy: mklink D:\Android\android-sdk\platform-tools\aapt.exe D:\Android\android-sdk\build-tools\17.0.0\aapt.exemklink /D D:\Android\android-sdk\platform-tools\lib D:\Android\android-sdk\build-tools\17.0.0\lib
Francesco Pez

Cũng phải thêm:ln -s ../build-tools/17.0.0/aidl aidl
xaviert

3
Nếu bạn nhận được điều này và việc thực thi trực tiếp aapt cũng cho biết không tìm thấy tệp, có thể bạn đang gặp sự cố 64 bit: liên kết
Tomas

@FrancecoPez Không hoạt động trong XP hoặc trong các hệ thống sử dụng fat32. Đối với WinXP: schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
Tuy nhiên một người dùng khác

Đối với những người dùng Windows 64Bit như Francesco Pez chỉ đề cập đến gợi ý cho các đường dẫn có dấu cách: đặt cả hai đường dẫn trong dấu ngoặc kép, ví dụ: 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

cập nhật IntelliJ của bạn lên 12.1.4 bằng cách sử dụng các bản phát hành beta làm kênh cập nhật nhập mô tả hình ảnh ở đây


2
Điều này đã làm được, tuy nhiên, tôi phải chọn SỚM RELEASES, hiển thị bản cập nhật .4 sau đó khi nó khởi động lại, tôi nhận được 3.x mà tôi đã từ chối. (Mac OS X 10.8.x)
Martin Marconcini

12

Trong Windows aapt.exe, chỉ cần sao chép , lib\dx.jardx.bat

từ build-tools \ android-4.2.2

đến

công cụ nền tảng


10

Vấn đề tương tự xảy ra với tôi với android-studio. Tuy nhiên, điều này cũng có thể áp dụng cho IntelliJ IDE.

Tuy nhiên, khi kiểm tra vị trí tệp tôi đã thấy, đó aaptlà vị trí mong đợi.

Trong trường hợp của tôi, vấn đề là tôi đang chạy hệ thống Linux Ubuntu 64 bit không thể thực aaptthi tệp thực thi 32 bit .

Cài đặt thư viện tương thích 32 bit đã giải quyết được vấn đề này trong trường hợp của tôi: sudo apt-get install ia32-libs


Có vẻ như ia32-libsnó không còn khả dụng cho Ubuntu 13.10 trở lên.
Chad Bingham

Thêm deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiversevào /etc/sources.list, sau đó sudo apt-get updatevà sau đósudo apt-get install ia32-libs
Mendhak

6

tôi giải quyết nó với điều này để dòng lệnh

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

Tôi cũng nhận thấy điều đó.

ADT đã được cập nhật và họ đã thêm công cụ xây dựng mới này để di chuyển mọi thứ. Intellijidea không cập nhật đường dẫn vì vậy nó đang tìm kiếm aapt trong đường dẫn cũ.

Tôi không biết làm thế nào để giải quyết nó, vì vậy hãy cho tôi biết nếu bạn tìm thấy một giải pháp ...

CẬP NHẬT:

Tôi nghĩ rằng bạn chỉ có 2 lựa chọn:

1) Sử dụng Android Build studio: http://developer.android.com/sdk/installing/studio.html 2) Sao chép (cái này bẩn nhưng hoạt động) tất cả nội dung từ build-tools / 17.0.0 / sang platform-tools / và nó sẽ xây dựng


Ah, một vấn đề cập nhật. Được rồi, tôi vừa thấy rằng Google đã phát hành Android Studio , là một nhánh của Intellij. Có lẽ Google mong đợi mọi người chuyển sang Android Studio hơn là cập nhật Intellij?
jonS90

Có, họ đã làm lại nó (hãy xem bài phát biểu của Google I / O ngày hôm qua). Về cơ bản nó là JideaCommunity + tập trung hơn vào Android. Sau đó, nó sẽ được hợp nhất với JideaPro (tôi hy vọng như vậy).
StErMi

2
Nó không thực sự là một ngã ba, nó dựa trên bản xây dựng Chương trình truy cập sớm. Khi bản dựng EAP đó trở thành IntelliJ dòng chính, nó sẽ có các tính năng tương tự như Android Studio.
powerj1984


2

Cảm ơn vì tiền hỗ trợ! Trên máy mac chạy Android 4.2.2 SDK, điều này hoạt động rất tốt. Bạn chỉ cần cập nhật đường dẫn của mình cho phù hợp. Ví dụ

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

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


1

Tôi đã gặp sự cố này nhưng với android-maven-plugin và là một biến thể của mục số 2 của bạn thay vì sao chép (các) tệp, tôi chỉ tạo một liên kết tượng trưng / mềm cho aapt

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

Cách tiếp cận này dường như khiến tất cả các bản dựng của tôi hoạt động trở lại.


1

Sao chép android-maven-plugin trên GitHub và cài đặt nó trong repo của bạn

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

Sau đó cập nhật pom của bạn để sử dụng phiên bản 3.5.4-SNAPSHOT của plugin. Mọi thứ sẽ hoạt động bình thường!


Tuy nhiên, lưu ý rằng điều này sẽ sửa bản dựng maven, nhưng không sửa bản dựng IntelliJ. Đối với điều đó, cách giải quyết liên kết tượng trưng sẽ hữu ích cho đến khi IntelliJ sửa nó.
Andy Dennie

bạn sẽ có thể tìm thấy phiên bản android-maven-plugin ở đâu đó trong IntelliJ conf ...
avianey

hệ thống xây dựng IntelliJ tích hợp sẵn không sử dụng android-maven-plugin. Để làm cho nó hoạt động, bạn cần thực hiện các liên kết tượng trưng. Và nếu bạn thực hiện các liên kết tượng trưng, ​​bạn không cần phải cập nhật ảnh chụp nhanh mới nhất của android-maven-plugin; các liên kết sẽ sửa cả bản dựng IntelliJ và phiên bản không phải mới nhất của android-maven-plugin.
Andy Dennie

Có, tôi có một môi trường cửa sổ. Khởi động cửa sổ DOS với tư cách quản trị viên, sau đó sử dụng lệnh mklink. Đi tới công cụ nền tảng, sau đó tạo liên kết aapt.exe, aidl.exe, dexdump.exe, dx.bat và lib \ dx.jar đến các đối tác của chúng trong build-tools \ 17.0.0 và build-tools \ 17.0. 0 \ lib. Lưu ý: bạn sẽ cần tạo thư mục con lib trong công cụ nền tảng.
Andy Dennie

0

Tôi đã chạy ba lệnh này và sự cố của tôi đã được giải quyết

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"

Nếu bạn chưa đặt Biến môi trường ANDROID_HOME, hãy thay thế% ANDROID_HOME% bằng đường dẫn đến SDK android của bạn, ví dụ C: \ Android \ android-sdk


0

Trên Mac OS, bạn cần

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

0

Goodlife một lần nữa. Chỉ trong trường hợp một dự án sạch lỗi như vậy và bạn đã sẵn sàng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.