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」の記事のサンプルコード、ほぼそのままです。成功してみれば、とても簡単。