Помилка компіляції 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.