はじめに
以前自分で書いたCordovaでiOS,Androidハイブリッドアプリ開発環境を整えるを再度試していたところタイトルのようなエラーが表示されたので、回避策を書いていきます。
発生したエラー内容
cordova build android
をしたところ以下のエラーが発生
Running command: /Users/sbnoguchi/dev/study/sample-project/platforms/android/cordova/build
[Error: Please install Android target: "android-22".
Hint: Open the SDK manager by running: /Users/sbnoguchi/Library/Android/sdk/tools/android
You will require:
1. "SDK Platform" for android-22
2. "Android SDK Platform-tools (latest)
3. "Android SDK Build-tools" (latest)]
要は、cordovaでセットされたsdkターゲット番号と実際にAndroid SDKでセットされているSDKのバージョンが違いますよという趣旨のエラーです。
回避策
Crodovaの設定ファイルをAndroid SDKのバージョンに合わせます。
1 Android sdkのバージョンを確認
- Android Studioを開いて、Preferenceを選択
- Appearance & Behavior > System Settings > Android SDK
以下の画面が表示されます。
Android 6.0が選択されている事が分かります。
ここのAPI Levelの数値をメモしておいてください。
今回の場合23です
API Level = Cordovaの設定ファイルに記載するSDKのターゲットバージョン
になります。
2 AndroidManifest.xmlの変更
以下のファイルを変更します。
/Cordovaのプロジェクトフォルダ/platforms/android/AndroidManifest.xml
Cordovaのプロジェクトフォルダはcordova createで作成済みのフォルダになります。
現状
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
targetSdkVersionを23に変更
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" />
3 project.propertiesの変更
以下のファイルを変更します。
/Cordovaのプロジェクトフォルダ/platforms/android/project.properties
現状
target=android-22
target=androidを23に変更
target=android-23
これで再ビルドすればCordovaのターゲットSDKのバージョンとセットされているAndroid SDKのバージョンが同じになるのでビルドに成功するはずです。