CordovaでAndroidアプリを作成するために開発環境を構築しました。

構築自体はそこまで難しくなく、ビルドも構築直後はできたのですが、
Android StudioでSDK Toolsが自動アップデートした後からビルドエラーが発生しました。

開発環境を構築するブログは多々あったのですが、今回の事象を解決する日本語での情報があまりなかったので記事にします。

解決までの流れ含めて記載します。

ビルドエラー 見出しへのリンク

ビルドエラーのメッセージは以下内容でした。

Error: Android SDK not found. Make sure that it is installed. If it is not at the default location, set the ANDROID_HOME environment variable.

Android SDKがありません。通常の場所にない場合は環境変数にてANDROID_HOMEでパスの設定してくださいよ。
といったメッセージですが、Android SDKは既に入れているし.bash_profile にANDROID_HOMEの設定や、その他必要なパスの設定もしていました。

以下今回実行した環境変数コマンド。

環境変数設定 .bash_profile 見出しへのリンク

echo export PATH=’$HOME/Library/Android/sdk/tools:$PATH’ >> ~/.bash_profile
echo export PATH=’$HOME/Library/Android/sdk/platform-tools:$PATH’ >> ~/.bash_profile
echo export ANDROID_HOME=’$HOME/Library/Android/sdk’ >> ~/.bash_profile

Requirements Checkをしてみる 見出しへのリンク

以下コマンドで状態を確かめる。

cordova requirements android

結果

Requirements check results for android:
Java JDK: installed.
Android SDK: installed
Android target: not installed
Android SDK not found. Make sure that it is installed. If it is not at the default location, set the ANDROID_HOME environment variable.
Gradle: not installed
Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /Users/ユーザー名/Library/Android/sdk/tools/templates/gradle/wrapperRequirements check results for browser:
Error: Cannot read property ‘forEach’ of undefined

ここでも似たようなこと言われる。
Java:インストール済み。
Android SDK:インストール済み。
Android target:未インストール

メッセージはビルド時と同じ。
Android SDKがありません。通常の場所にない場合は環境変数にてANDROID_HOMEでパスの設定してくださいよと言われてる。
本来ターゲットにはインストールしたAndroid SDKの各バージョンが表示されるはずなのに。

何回もプラットフォームのremoveやaddを繰り返したが変わらず。

これは同じ事象ではないか 見出しへのリンク

調べているうちに有効な解消方法が書いてありそうなGitHub Issueがあった。

https://github.com/meteor/meteor/issues/8464

ただこれが全て英語でしたが、なんとかGoogle翻訳しつつ調べました。
私と同じように Android Studiで SDK TOOLがアップデートされてビルドできなくなったと言う人がいました。
よく見ていくとAndroid SDKというよりも、SDK Toolsのバージョンでビルドができなくなっているらしい。 tools のバージョンが 25.2.5 だととりあえずはビルドできましたよと言っていて丁寧にリンクまで貼ってある。

cordova-android-build-error1

結果:解消方法 見出しへのリンク

既存のSDK Toolsのディレクトリはフォルダ名を変更しておく。
/Users/ユーザー名/Library/Android/sdk/tools
Android SDK Toolsのバージョン25.2.5をダウンロードしてフォルダ名「tools」で置き換える。
Androidのplatoformをrmとaddをしたら直った。

今回のビルドエラー解消は結構時間がかかってしまいました。
とりあえず解消してよかった。