RAD Studio11でFireMonkeyアプリをビルドし、Androidデバイスへデプロイすると、”エラー: E2308 プログラムが見つかりません”というエラーが発生する
対象となる製品
- RAD Studio 11.x Alexandria
- C++Builder 11.x Alexandria
- Delphi 11.x Alexandria
問題
RAD Studio11でFireMonkeyアプリをビルドし、Androidデバイスへデプロイすると、以下のエラーが発生します。
[PAClient エラー] エラー: E2308 プログラムが見つかりません、'C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidSDK-2525-22.0.42600.6491\build-tools\30.0.3\Aapt.exe'
このエラーの原因は、RAD Studio 11のIDEメニューの[ツール]-[オプション]-[配置]-[SDKマネージャ]のSDKに関連したそれぞれのパスに関して、下図のように右側に警告(!)マークが表示されており、
そしてAndroid SDKのホームディレクトリ(例えば、C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidSDK-xxxxx)の配下にビルドするために必要なAndroidSDKに関連したファイルやフォルダが展開されていないことが理由となります。
解決
もしAndroid SDKのホームディレクトリ(例えば、C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidSDK-xxxxx)以下に AndroidSDKに関連した必要なフォルダやファイルが展開されていない場合は、手動でパッケージを入手する必要があります。
AndroidSDKの必要なファイルを入手する方法として、以前のRAD Studioのバージョンでは、SDKmanager.exeがありましたが、
RAD Studio 11以降で提供している標準のAndroid SDKでは、GUI形式のSDKmanager.exeではなく、コマンドライン形式のSDKmanager.batに変更されており、SDKmanager.batは、RAD Studio 11.3の場合は、以下のパスへ配置されております。
C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidSDK-2525-22.0.48361.3236\cmdline-tools\latest\bin
SDKmanager.batの使い方は、以下のドキュメントをご参照ください。
https://developer.android.com/studio/command-line/sdkmanager?hl=ja
またRAD Studio 11.3では、Android SDKが依存するJavaは、Java8 からJava 11へ変更されておりますので、 もし古いバージョンのJavaがインストールされているPC環境の場合は、RAD Studio 11.3のインストールメニューの[追加オプション]の"Eclipse Open JDK 11"を必ず選択してください。
以下、RAD Studio 11.3でAndroid SDKのパッケージを手動で入手する手順の例です。
- コマンドプロンプトを起動
- cdコマンドによってC:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidSDK-2525-22.0.48361.3236\cmdline-tools\latest\binディレクトリへ移動
- sdkmanager.bat "platform-tools" "build-tools;32.0.0" "platforms;android-32" を実行
上記の手順によってAndroid SDKのパッケージを取得した後、IDEメニューの[ツール]-[オプション]-[配置]-[SDKマネージャ]のSDKに関連したそれぞれのパスをご確認ください。
上図のように右側に警告(!)マークが表示されていなければ、ビルドするために必要なAndroidSDKに関連したファイルやフォルダが展開されています。