モバイルデモプログラムの実行について
magicxpaにプリインストールされているモバイルデモプログラムをアンドロイド端末で実行したいのですが、動作しません。
環境は下記です:
-
モバイルデバイス
- Androidバージョン: 11
- Google Play Storeからmagicxpa4.9をインストール済み
- USBデバッグ許可
- USBケーブルで開発PCに接続
-
開発PC側
- IISインストール済み
- DevProps.txtのIPアドレスを開発PCに書き換え
- 開発PCのIPアドレスは
192.168.x.x
形式
-
実行した操作
- モバイルデモで「アンドロイドで実行」をクリック
-
Ctrl+F7
でデバッグ実行 - モバイル側でMagicxpaが起動し、ダイアログボックスが表示される:
ERROR: cannot access the server.
どのようにすれば、エラーとならずに実行できるようになるでしょうか?
-
iwasakiさん、
そのAndroid機のIPアドレスは何番になっていますか?IISサーバにアクセスできるネットワークにいますか?
-
IPアドレス 192.168.3.215に設定しています
IISサーバにアクセスできるネットワークにいます(ネットワーク接続しましたので、ネットワーク接続なし(WiFiにつながっていない)の記載を消します)
-
追記 android端末のmagicxpa4.9を開き、DevProps.txtのurlを入力するとエラーが発生せずにアプリを開くことができました。
しかし、pc側で
Ctrl+F7 でデバッグ実行
を押し、
モバイル側のMagicxpaを起動させたときは、ERROR: cannot access the server.
となってします。 -
お邪魔します。
DevProps.txt は、IPアドレスのみ書き換えたのでしょうか。
<property key="appname" val="・・・・・
<property key="prgname" val="・・・・・
は、サンプルアプリの実行だとすれば書き換える必要が無かったのかもしれないですね。 -
nkmtさん
コメントありがとうございます。
IPアドレスのみ書き換えを行いました。
Androidのアプリ起動時に、
DevProps.txt
のURLを入力したところ、無事にアプリを起動することができました。原因は、Android端末がIISのネットワークに接続されていなかったことでした。
動作は確認できたのですが、USBデバッグ接続を使用してAndroidでデバッグ起動を行おうとした際に、なぜかサーバーにアクセスできないエラーが発生します。何か別に設定が必要なのでしょうか?
-
少し進んで良かったですね。
USBデバッグ接続は当方未経験の為、他の方のコメントを期待します。
エラーメッセージを書いたら何かコメント付き易いかもしれませんね。 -
iwasakiさん、
おかしな横道に逸れるといけませんのでまず確認なんですが、検証したいと思われている環境は「USBデバッグ」での実行ですか、それとも普通に「DevProps.txt」を経由しての実行ですか?
-
iwasakiさん、
追伸ですが、USBデバッグの場合は DevProps.txt 経由で実行されるのではなく、execution.properties 経由で実行されます。
-
USBデバッグの場合は DevProps.txt 経由で実行されるのではなく、execution.properties 経由で実行されるという事も当方知りませんでしたので、横道に逸れない話題に戻れて良かったです。
-
Tandaさん
USBデバッグでの実行です
教えて頂きありがとうございます
execution.propertiesを確認します
-
iwasakiさん、
まず確認ですが、execution.properties は必要に応じて、プロジェクトフォルダに自動生成されますので、手動でテンプレートファイルを編集する必要はないです。
また、USBデバッグの場合、Magicの「動作環境」→「アプリケーションサーバ」→「HTTPリクエスタ」の設定が重要となります。ここがAndroidから見えるパスになっていますか?
-
Tandaさん
明けましておめでとうございます。
HTTPリクエスタの設定を確認しました。
/Magic49Scripts/MGrqispi.dll となっており、アンドロイド端末のwebブラウザでアクセスしたとき、404 not foundにならなかったため、androidから見えるパスになっていると思います。
-
iwasakiさん、
そこがデフォルトの「/Magic49Scripts/MGrqispi.dll」のままになっていると、それは「http://localhost/Magic49Scripts/MGrqispi.dll」を指していることになります。
Windowsデバッグの場合は、デバッグマシンもIISと同じマシンの場合が多いので、そのままの設定でもいいのですが、Androidの場合はマシンが異なりますので、フルパスで指定してやる必要があります。
したがって、ここのパスを実際にIISが稼働しているパスにしてやればいいはずです。
-
tandaさん
アドバイスありがとうございます。
HTTPリクエスタの設定を下記に変更しました。(ipアドレスはiisが稼動しているPC)http://192.168.x.xxx/Magic49Scripts/MGrqispi.dll
書き換えて、再度実行してみましたが、cannot access the serverになってしまいます。
-
iwasakiさん、
まず、IPアドレスの基本の確認なんですが、IISサーバとAndroidは同じサブネット内にいますか?たとえば、サブネットマスクが255.255.255.0の設定で、IISサーバが192.168.0.1で、Androidが192.168.1.1とかですと、AndroidからはIISサーバは見えないです。この辺りの設定を確認されるといいですよ。
あと、もう一点ですが、「Androidで実行」という機能は、Windowsデバッグと同じで、プログラムリポジトリからF7で実行するという機能です。ですので、「プロジェクトの実行(Ctrl + F7)」は意味がないです。プロジェクトの全体を確認したいのであれば、開始プログラムからスタートして、全体の動作を確認するという流れになりますね。
-
tandaさん
ご指摘いただいた点を確認しましたが、IISサーバとAndroidは同じセグメントに属しているようです。
「Androidで実行」についてのご説明もありがとうございます。
「Androidで実行」について、プロジェクトの実行(Ctrl + F7)をしていました。
F7で実行を試してみます -
iwasakiさん、
確認ですが、Magic開発版に同梱されている「Myapp.apk」もしくは「MagicDev.apk」はインストールされていますか?
-
tandaさん
「Myapp.apk」、「MagicDev.apk」両方未インストールです。
アンドロイド端末でMagicDev.apkをインストールを実行しました。
Myapp.apkについて、下記のフォルダ内で検索しましたが、見つけられませんでした。
C:\Program Files (x86)\Magicxpa\Studio 4.9
-
iwasakiさん
私は社内Wi-Fiに、ノートPC+Andoridタブレットを接続。
Androidに、xpa 4.6のMagicDev.apkをインストール。
PCではIIS起動、PCでxpa開発版をバックグラウンド実行、Andoridタブレット自身でxpa実行の実験が一昨日出来ました。
社内Wi-Fiではなく、スマホデザリングへノートPCもAndoridも接続し、iPadやAndoridタブレット自身でモバイルRIAの実行も出来ます。
その場合、スマホ、PC、タブレット持ち込みで客先デモも出来ます。
おそらくUSBデバッグ実行が出来れば開発効率が上がるのでしょうが、私は相変わらずUSBデバッグ実行は未知、未経験です。 -
iwasakiさん、
どちらが同梱されているかは、バージョンによって違うみたいですから、気にしなくていいと思いますよ。どちらかがインストールされていればいいです。
ちなみに、私が xpa 4.8.1で最初にテストしたときは、Magic に同梱されている run.bat の PackageName の記述がずれているらしくて、MagicDev.apk ではうまく動きませんでした。しかたがないでの、xpa 4.7.1 に同梱されている Myapp.apk を一時的に引っぱってきて動作させました。4.9 に同梱されている MagicDev.apk は忙しくてまだテストできていません。
私どもの、次の Android RIA セミナー(2月14日)までには、4.9 に添付されている MagicDev.apk を使っての USB デバッグの動作検証も済ませておきたいと思っています。
USB デバッグができると、Windows デバッグと同じように、プログラムリポジトリから直接、F7 キーで個々のタスクが実行できるようになりますから、本当に楽ですよ。
-
iwasakiさん、
ちなみに、今さかのぼって調べてみましたら、私のところのAndroidセミナーでは、xpa 2.5の頃からUSBデバッグを動かしています(2016年5月頃から)。
-
iwasakiさん、
補足です。
run.bat に記述されている PackageName の設定ですが、これはMagicでインタフェースビルダを起動したときに、ウィザードの途中に出てくる「パッケージ名」の欄で確認できたはずです。
-
nkmtさん
コメントありがとうございます
社内Wi-Fiやスマホのデザリングを使って、ノートPCとAndroidタブレットでxpaの実行ができたというのはすごいですね。客先でのデモも可能という点、便利で実用的だと思います。 -
Tandaさん
詳細な情報ありがとうございます
バージョンによって同梱されているファイルが異なる点について
どちらかがインストールされていれば問題ないというアドバイス助かります。また、xpa 4.8.1での問題と、xpa 4.7.1のMyapp.apkで回避されたという件、非常に参考になりました。
MagicDev.apkの動作検証はまだされていないとのことですが、4.9でのUSBデバッグの確認が済んだ際には、ご報告いただければありがたいです。xpa 2.5からUSBデバッグを使っていたというのは驚きました。長年の経験をお持ちなんですね。
run.batでのPackageName設定について
下記にPackageName設定の画像を添付します。
PackageName の記述がずれているというのは、run.batの一行目とPackageNameの値がずれているということでしょうか? -
iwasakiさん、
失礼、ちょっと訂正です。インタフェースビルダのウィザードで表示されるパッケージ名は、これからビルドするモジュールのデフォルト名ですから、Magicに同梱されたMagicDev.apkのそれとは違いますね。失礼しました。
xpa 4.7.1までは、run.batのPackageNameとMyapp.apkのパッケージ名が同じでしたので、何のトラブルもなく、デフォルトのままでUSBデバッグが動いていたのですが、xpa 4.8.1のときはこれがずれていて、簡単には動きませんでした。xpa 4.9ではここが一致しているかどうかを確認してみてください。
xpa 4.9に同梱されているMagicDev.apkのパッケージ名が何であるかは、Android Studioに付属の「APK Analyzer」で調べられるみたいです。一度試してみてはいかがでしょうか?
やり方は以下の通りです。ChatGPTに教えてもらいました(ChatGPTの回答は間違っていることもありますので、違っていたら調整してみてください)。
1. Android Studioを開きます。
2. メニューから File > Profile or Debug APK を選択します。
3. apk ファイルを選んで開きます。
4. 「APK Analyzer」が開いたら、左側のパネルで AndroidManifest.xml を選択します。
5. AndroidManifest.xml の中に記載されている package 属性が PackageName です。 -
tandaさん
調べて頂きほんとうにありがとうございます。
手順通りに実施、packagenameの記載がありました。
添付画像の通り、値は一致しておりました。
-
iwasakiさん、
あ、よかったですね。その文字列とrun.batに記載されたPackageNameの値が一致していれば、そのままで動くはずです。もしエラーが表示されるようでしたら、そのエラーをアップしてください。
-
tandaさん
cannnot accsess the serverとなっております
android端末とpcをusbケーブルで繋いで、magicxpaでf7実行後
この画面が表示されます。
-
iwasakiさん、
やはり、IPアドレスの設定があやしいような気がしますね。下記の4つは整合性が取れていますか?
1. IISサーバ(開発マシン)のIPアドレス
2. Android機のIPアドレス
3. 上記の2つが交信可能なサブネットマスクの設定
4. 動作環境の「HTTPリクエスタ」へのパス設定あと、Magic付属の「adb.exe」をコマンドプロンプトで実行した際に、デバイスリストにそのAndroid機のデバイス番号は表示されますか?
-
tandaさん
コメントありがとうございます
各設定を確認しました
1.IISサーバ(開発マシン)
2.Android機
3.1と2のサブネットマスクの値から同じサブネットにいると思います。
4.
adb.exeを実行してみました。アンドロイド機のデバイス名が表示されました。
サインインしてコメントを残してください。
コメント
38件のコメント