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、No such file or directory

数時間のインターネットの精査は役に立ちませんでした。

ちなみに、私はlocate aaptターミナルで走ったところ、それaapt/home/jon/Programs/android-sdk-linux/build-tools/17.0.0/aapt


さて、すべての回答の人たちに感謝します!Android Studioフォークに切り替えたところ、問題なく動作しました。しかし、シンボリックリンクや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
こんにちは、私にもぴったりです。参考までに:私はWindowsでIntellijを実行しています。管理者権限で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 2013年

3
これを取得してaaptを直接実行してもファイルが見つからないという場合は、64ビットの問題がある可能性があります。リンク
Tomas

@FrancescoPez XPまたはfat32を使用するシステムでは機能しません。WinXPの場合:schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
さらに別のユーザー

Francesco PezのようなWindows 64ビットユーザーの場合、スペースを含むパスのヒントに言及しました。両方のパスを引用符で囲みます。例:mklink "C:\ Program Files \ androidsdk \ sdk \ platform-tools \ aapt.exe" "C:\ Program Files \ androidsdk \ sdk \ build-tools \ android-4.3 \ aapt.exe "
ChristianSchäfer

21

ベータ版リリースをアップデートチャネルとして使用して、IntelliJを12.1.4にアップデートします。 ここに画像の説明を入力してください


2
これはそれを行いました、しかし、私はEARLY RELEASESを選択しなければなりませんでした、それは.4アップデートを示しました、そしてそれが再始動したとき、私は拒否した3.xを得ました。(Mac OS X 10.8.x)
Martin Marconcini 2013年

12

Windowsではそれだけでコピーするのに十分であるaapt.exelib\dx.jardx.bat

以下からのビルドツール\アンドロイド4.2.2

プラットフォームツール


10

android-studioで同じ問題が発生しました。しかし、これはおそらくIntelliJ IDEにも当てはまります。

しかし、私が見たファイルの場所を確認すると、それaaptは予期された場所にありました。

私の場合の問題は、32ビットのaapt実行可能ファイルを実行できない64ビットのUbuntu Linuxシステムを実行していたことでした。

私の場合、32ビット互換ライブラリをインストールすると、この問題は解決しました。 sudo apt-get install ia32-libs


ia32-libsUbuntu 13.10以降では利用できなくなっているようです。
チャドビンガム2014年

追加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はパスを更新していないため、古いパスで適切に検索しています。

解決方法がわからないので、解決策が見つかったらお知らせください...

更新:

選択肢は2つしかないと思います。

1)Androidビルドスタジオを使用:http : //developer.android.com/sdk/installing/studio.html 2)build-tools / 17.0.0 /からplatform-tools /にすべてのコンテンツをコピーします(これはダーティですが機能します)。そしてそれは構築されます


ああ、アップデートの問題。OK、それでGoogle がIntellijのフォークであるAndroid Studioをリリースしたことを見つけた。たぶんグーグルは人々がIntellijをアップデートするのではなくAndroid Studioに切り替えることを期待していますか?
jonS90 2013年

はい、彼らはそれをリリースしました(昨日のGoogle I / O基調講演をご覧ください)。それは基本的にはJideaCommunityであり、さらにAndroidに重点を置いています。その後、JideaProとマージされます(そう願っています)。
StErMi 2013年

2
これは実際にはフォークではなく、早期アクセスプログラムのビルドに基づいています。そのEAPビルドがメインラインのIntelliJになると、Android Studioと同じ機能が提供されます。
powerj1984 2013年


2

先端をありがとう!Android 4.2.2 SDKを実行しているMacでは、これはうまく機能しました。それに応じてパスを更新する必要があるだけです。例えば

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-SNAPSHOTを使用するようにpomを更新します。すべてが正しく動作するはずです!


ただし、これによりmavenビルドは修正されますが、IntelliJビルドは修正されません。そのため、IntelliJが修正するまで、シンボリックリンクの回避策が役立つはずです。
アンディデニー2013年

IntelliJ設定のどこかにandroid-maven-pluginバージョンを見つけることができるはずです...
avianey

組み込みのIntelliJビルドシステムは、android-maven-pluginを使用しません。これを機能させるには、シンボリックリンクを作成する必要があります。また、シンボリックリンクを作成する場合は、android-maven-pluginの最新のスナップショットに更新する必要はありません。リンクはIntelliJビルドと最新バージョンではないandroid-maven-pluginの両方を修正します。
アンディデニー2013年

はい、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。注:platform-toolsの下にlibサブフォルダーを作成する必要があります。
アンディデニー2013年

0

これらの3つのコマンドを実行したところ、問題は解決しました

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

もう一度グッドライフ。そのようなエラーのないプロジェクトの場合に備えて、あなたは行ってもいいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.