IntelliJ IDEA 13.1.4 で Android プロジェクトのビルドに失敗する


※2014/07/26 注) 現在公開中の IntelliJ IDEA 13.1.4b では、以下の記事の不具合は解消されているようです。

はじめに

IntelliJ IDEA 13.1.3 を 13.1.4 にアップデートし、Android プロジェクトをビルドしたところ、以下のようなエラーが発生してしまいました。

それまでは、正常にビルドできていたプロジェクトでしたので、Android SDK か IntelliJ の問題かと見当をつけて調べてみました。

IntelliJ IDEA 13.1.4 のバグでした

詳細は、以下のサイトをご覧ください。どうやら、Android Studio 用の変更を取り込む際に、見落としがあったようです。
Internal error: NoSuchMethodError: com.google.common.io.Closeables.closeQuietly : IDEA-127374
まだアップデートしていない方は、13.1.5 が出るまで待ちましょう。

ダウングレードで対処

13.1.5 で修正される旨アナウンスされていますが、現時点では、ダウングレードしか対処の方法がありません。13.1.3 へのリンクは、以下にあります。
Internal error: NoSuchMethodError: com.google.common.io.Closeables.closeQuietly after updating to IDEA 13.1.4 : JetBrains Support

Ubuntu (Xubuntu) では、.tar.gz をダウンロードして展開し、インストールディレクトリの内容を置き換える事でうまくいきました。(単に上書きで置き換えてもうまくいかなかったので、元のファイルを全て消してから置き換えました。)

Windows では、一旦アンインストールして .exe を実行すれば良いと思われます。

[参考サイト]

  1. Internal error: NoSuchMethodError: com.google.common.io.Closeables.closeQuietly : IDEA-127374
  2. Internal error: NoSuchMethodError: com.google.common.io.Closeables.closeQuietly after updating to IDEA 13.1.4 : JetBrains Support

Ubuntu への JDK, Android SDK のインストール


今まで Windows 環境で Android 開発をしてきたのですが、最近ふと思い立って Linux(Ubuntu/Xubuntu) で環境を構築してみました。この記事では、IDE をインストールする前に必要となる JDK と Android SDK のインストールについて記述します。 (ADT Bundle を使わず、 JDK/SDK と IDE を個別にインストールすることを想定しています。)

JDK のインストール

JDK は頻繁にアップデートされるので、パッケージ管理を使いたいと思って調べたところ、 Oracle Java (JDK) 6 / 7 / 8 Installer PPA : “WebUpd8” team で PPA が提供されていました。この PPA は、 Oracle のインストーラをダウンロードして実行するようになっています。
以下のように導入します。途中、Oracle ライセンスへの同意が求められますので同意して進めます。

最後の行で、インストールが正常に行われたか確認しています。
以上の作業で、私の環境では /usr/lib/jvm/java-7-oracle にインストールされました。

Android SDK のインストール

Android SDK のインストールは、 Android SDK | Android Developers に従って進めました。

  1. まず、 SYSTEM REQUIREMENTS の Linux 欄に以下の記述があります。

    64-bit distributions must be capable of running 32-bit applications.

    64-bit ディストリビューションは、 32-bit アプリケーションを実行できなければならない。

    私の環境は 64bit-Xubuntu なので、これに対応するため ia32-libs をインストールします。(32bit OS では不要です。)
    sudo apt-get install ia32-libs
    私の環境は 64bit-Xubuntu なので、これに対応するため lib32stdc++6 と lib32z1 をインストールします。(32bit OS では不要です。)

    ※注 2014/10/15) Ubuntu 14.04 以降では、ia32-libs をインストールできません。(Dan Dar3: Android SDK Tools on Ubuntu 14.04 beta x64)

  2. 次に DOWNLOAD FOR OTHER PLATFORMS から Linux 32 & 64-bit のパッケージをダウンロードします。(/home/hoge/Downloads/android-sdk_r21.1-linux.tgz とします)
    ※ 現在は、 Eclipse 環境も含めた ADT Bundle というパッケージが用意されていますが、本記事では、IDE を別途インストールする事を想定しています。
  3. ホームディレクトリに適当なディレクトリ (ここでは Development とします) を作成してそこに展開します。

  4. tools, platform-tools ディレクトリにパスを通しておくと便利です。 ~/.bashrc に以下を追加します。

    ※ 2014/02/14 修正: 現在では adb は platform-tools ディレクトリに移動されれているので、パスに platform-tools を追加しました。

    ※ 2014/05/28 補足: platform-tools は、Android SDK Platform-tools をインストールすると作成されます。

    パスを適用するために、以下を実行します。

  5. SDK をアップデートします。(全てのプラットフォーム用の SDK がダウンロードされますので、かなり時間を要します。)

    ※ 2014/05/28 補足: 現在は多くのプラットフォームが登録されていて、全てのアップデートを実行するのは現実的ではありません。この操作は飛ばして、次の項目へ進み、「SDK マネージャ」を起動して必要なものだけインストール&アップデートした方が良いと思われます。

  6. SDK マネージャを起動して確認してください。(私の環境では、ソースがダウンロードされていなかったので追加でダウンロードしました。)

  7. その他の android コマンドについては、–help オプションで確認してください。

この後は、Eclipse や IntelliJ 等好みの IDE をセットアップして開発を始めることができます。

[参考サイト]

[関連記事]

Android 開発環境を Eclipse から IntelliJ へ移行(2)


前回の記事では、IntelliJ IDEA のインストールと基本的な設定を説明しました。これで Android 開発の準備ができましたので、今回は実際の使い方について解説します。

新規プロジェクトの作成

Welcome 画面で Create New Project をクリックすると New Project ウィンドウが開きます。Android 欄の Application Module を選択し、Project name と Project Location を指定し、Next を押します。
new_proj1_compressed
Application name, Package name 等必要事項を入力して Finish を押します。
new_proj2_compressed
しばらく待つと、Tip of the Day の後、プロジェクトが起動します。

既存のプロジェクトのインポート

既存のプロジェクトを取り込む場合は、Welcome 画面から Import Project で元にするプロジェクトの入ったフォルダを指定し、必要な設定事項を指定します。(Eclipse で作成したプロジェクトで .project が有る場合は、Open Project で .project を指定して取り込むこともできます。ただし、Import Project の方が細かな指定ができて便利です。)

.gitignore の設定

Git でプロジェクト管理をする場合は、開発環境に合わせて適切な .gitignore を配置する必要があります。gitignore/Android.gitignore at master · github/gitignore · GitHub を使えば良いでしょう。また、IntelliJ の Proguard ログフォルダと Git 管理 | DeVlog も参考にしてください。

プロジェクトフォルダを開く

左上の “Project” をクリックすると、プロジェクトフォルダが開きます。
open_project_compressed
ここから、ソースファイル等を開く事ができます。
folder_compressed

SDK/AVD Manager を使う

Tools メニューから、Android SDK Manager, AVD Manager を呼び出せます。
sdk_avd_compressed

アプリケーションの実行

Run メニューから、アプリケーションを実行できます。
run_compressed

署名付きAPKのエクスポート

アプリケーションの署名付きAPK のエクスポートは、Build メニューから Generate Signed APK… をクリックします。
apk_compressed
キーストアのパスと、パスワード、キーエイリアスを設定または新規作成します。
apk2_compressed

以上がわかれば大体見当がつくと思います。はじめのうちは戸惑いもあるかと思いますが、Getting Help も参照しながら開発を進めてください。

[関連記事]