Delphi XE5 で Android を使うまでの、少しの障害とその短い道のり

Windows 8.1 に、Delphi XE5 Professional と、Mobile アドオンパックをインストールした状態から、Android アプリを作ってみます。
Delphiのメニュー [ヘルプ]-「モバイルヘルプウィザード」を開き、このヘルプを参考にしました。

■USB デバックで、Nexus 7 (2013) が、認識されない...

 エミュレーターが、インストールされていますが、起動に時間がかかるため、実機 Nexus 7 (2013) で、USB デバックを使います。
 Nexus 7 の設定で、USB デバッグをONにし、PCに USB ケーブルで接続します。
 デバイスマネージャーで確認すると、「ポータブルデバイス Nexus 7」 は、認識されましたが、「Android Device」 としては、認識されませんでした。

 
 Android デバイス用の USB ドライバのインストール (リンクは、こちら)を参考に、Google USB ドライバ をダウンロード(リンクは、こちら)し、展開します。
 展開したファイルを、、"usbdriverフォルダ" ごと "C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk\extras\Google"に、コピーします。
 展開したファイルを、"usbdriver" ごと、Andriod SDK のインストールフォルダにコピーします。
 こちらの環境では、"C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk\extras\Google"フォルダでした。
 
 ドライバの更新で、このフォルダを指定すると、正常にインストールされ、Android Device として認識されます。

 

 Nexsu 7 で USB デバッグを許可すると、Delphi XE5 のプロジェクトマネージャにも、Nexus 7 が追加されます。
 ※追加されない場合は、「ターゲット」を右クリックし、ポップアップメニューから「更新」して下さい。

 

 Delphi XE5 を起動し、FireMonkey モバイル アプリケーション を作成します。

 

 空のアプリケーション を選択し、[OK] をクリックします。

 


 フォームを Google Nexus 7 (2013) にします。

 

 Form に、Button を配置し、プロパティ Align を alTop にします。(特に意味はありません)
 Button1Click のイベントに、ShowMessage('Delphi アンドロイド!!'); を追加し、適当な名前で保存します。
 実行する前に、ターゲットの 「Nexus 7」 をクリックし、アクティブ(太字表示)にしておきます。
 でないと、あの(とても遅い)エミュレータが起動します。

 
 
 で、実行してみると、paclient でエラーとなりました。
 ログを見ると、paclient の起動オプションの 「ZipAlign.exe」 が見つからない...ということみたいです。
 
■ZipAlign.exe が無い...。Android SDK Manageが起動できない...。

 Android ツールを起動すると、android.bat が見つからないというエラーが出て、Android SDK Manager が起動しません。
 
 Android ツールを右クリックし、「ファイルの場所を開く」を選択すると、Android Tools のショートカットが、表示されます。
 これを右クリックし、プロパティを表示。リンク先を正しく入力すると、android.bat が起動されます。
 ※正しくは、リンク先の $ANDROIDSDKROOTDIR$ を解決するのだと思います。
 
 で、Android SDK Manager を起動してみると、Andoroid SDK Build-tools が、何もインストールされていませんでした。
 21.12 をインストールします。

 

 Delphi のプロジェクトマネージャ の Andoroid - Android SDK 22.0.0 32bit を、右クリックし、「SDK の編集」を選択します。
 ZipAlignの場所: に警告マーク が出ているので、先ほどインストールした Build-tools から、ZipAlign.exe を登録し直します。

 
 
 実行すると、Nexus 7 上で、アプリが起動されます。

 


 エミュレータだと、こんな↓感じ。残念ながら、ボタンが見えませんが、クリックすると、メッセージボックスが表示されました。

 

 USBデバッグを終了しても、アプリとして登録されています。デフォルトのアイコンは、炎 のマークです。

 

 Indy を使った MELSEC Q03UDECPU との通信も、TCP、UDP ともOKです。
 コードは、「MELSEC Q TCP/UDP」の記事のサンプルコード、ほぼそのままです。成功してみれば、とても簡単。