Помилка компіляції 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 , і він працює чудово. Але я думаю, що інші рішення щодо символічних посилань або плагіна android-maven можуть бути більш підходящими для інших користувачів Intellij. Припускаю, це буде виправлено в оновленні за лічені часи ...
— jonS90

Відповіді:


130

Схоже, що останнє оновлення випуску SDK r22 перемістило aapt та lib jar з платформи-інструментів у каталог інструментів побудови. Поки ми чекаємо, поки 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.exeand mklink /D D:\Android\android-sdk\platform-tools\lib D:\Android\android-sdk\build-tools\17.0.0\lib
— Франческо Пез

Також довелося додати:ln -s ../build-tools/17.0.0/aidl aidl
— xaviert

3
Якщо ви отримуєте це і виконуєте aapt безпосередньо, також говорите, що файл не знайдений, можливо, у вас виникла 64-розрядна проблема: link
— Томас

@FrancescoPez Не працює в XP або в системах, що використовують fat32. Для WinXP: schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
— ще один користувач

Для користувачів Windows 64Bit, таких як Франческо Пез, згадано лише підказку щодо шляхів із пробілами: поставте обидва шляхи в лапки, наприклад 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
Це вдалося, однак, мені довелося вибрати РАННІ ВИПУСКИ, які показали оновлення .4, тоді, коли він перезапустився, я отримав 3.x, який я відмовив. (Mac OS X 10.8.x)
— Мартін Маркончіні

12

У Windows досить лише копіювати aapt.exe, lib\dx.jarаdx.bat

з build-tools \ android-4.2.2

до

платформи-інструменти


10

Така ж проблема виникла у мене з android-studio. Але, це, мабуть, стосується і IntelliJ IDE.

Проте, перевіряючи розташування файлу, я побачив, що воно aaptбуло в очікуваному місці.

У моєму випадку проблема полягала в тому, що я запускав 64-розрядну систему Linux Ubuntu, яка не може виконати 32-розрядну aaptвиконувану програму.

Встановлення 32-розрядної бібліотеки сумісності вирішило цю проблему в моєму випадку: sudo apt-get install ia32-libs


Здається, ia32-libsвін більше недоступний для Ubuntu 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) Використовуйте Android Build studio: http://developer.android.com/sdk/installing/studio.html 2) Скопіюйте (це брудно, але працює) весь вміст з build-tools / 17.0.0 / на platform-tools / і воно буде будувати


Ах, проблема оновлення. Гаразд, отже, я щойно виявив, що Google випустив Android Studio , яка є форком 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 та встановіть його у своєму репо

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 не виправить це.
— Енді Денні,

ви мали б змогу знайти версію плагіна android-maven десь у
— конфігурації

вбудована система побудови IntelliJ не використовує плагін android-maven. Щоб це працювало, вам потрібно буде зробити символічні посилання. І якщо ви робите символічні посилання, вам не потрібно буде оновити до останнього знімка android-maven-plugin; посилання виправлять як збірку IntelliJ, так і останню версію плагіна android-maven.
— Енді Денні,

Так, у мене є середовище Windows. Запустіть вікно DOS як адміністратор, а потім скористайтеся командою mklink. Перейдіть до інструментів платформи, а потім створіть посилання для aapt.exe, aidl.exe, dexdump.exe, dx.bat та lib \ dx.jar до їх аналогів у build-tools \ 17.0.0 і build-tools \ 17.0. 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 та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.