メインコンテンツへスキップ

モバイルデモプログラムの実行について

コメント

38件のコメント

  • Tanda

    iwasakiさん、

    そのAndroid機のIPアドレスは何番になっていますか?IISサーバにアクセスできるネットワークにいますか?

     

  • iwasaki

    IPアドレス 192.168.3.215に設定しています
    IISサーバにアクセスできるネットワークにいます

    (ネットワーク接続しましたので、ネットワーク接続なし(WiFiにつながっていない)の記載を消します)

  • iwasaki

    追記 android端末のmagicxpa4.9を開き、DevProps.txtのurlを入力するとエラーが発生せずにアプリを開くことができました。

     

    しかし、pc側でCtrl+F7 でデバッグ実行を押し、
    モバイル側のMagicxpaを起動させたときは、ERROR: cannot access the server.となってします。


  • nkmt

    お邪魔します。
    DevProps.txt は、IPアドレスのみ書き換えたのでしょうか。
    <property key="appname" val="・・・・・
    <property key="prgname" val="・・・・・
    は、サンプルアプリの実行だとすれば書き換える必要が無かったのかもしれないですね。

  • iwasaki

    nkmtさん

    コメントありがとうございます。

    IPアドレスのみ書き換えを行いました。

    Androidのアプリ起動時に、DevProps.txt のURLを入力したところ、無事にアプリを起動することができました。

    原因は、Android端末がIISのネットワークに接続されていなかったことでした。

    動作は確認できたのですが、USBデバッグ接続を使用してAndroidでデバッグ起動を行おうとした際に、なぜかサーバーにアクセスできないエラーが発生します。何か別に設定が必要なのでしょうか?

  • nkmt

    少し進んで良かったですね。
    USBデバッグ接続は当方未経験の為、他の方のコメントを期待します。
    エラーメッセージを書いたら何かコメント付き易いかもしれませんね。

  • Tanda

    iwasakiさん、

    おかしな横道に逸れるといけませんのでまず確認なんですが、検証したいと思われている環境は「USBデバッグ」での実行ですか、それとも普通に「DevProps.txt」を経由しての実行ですか?

  • Tanda

    iwasakiさん、

    追伸ですが、USBデバッグの場合は DevProps.txt 経由で実行されるのではなく、execution.properties 経由で実行されます。

  • nkmt

    USBデバッグの場合は DevProps.txt 経由で実行されるのではなく、execution.properties 経由で実行されるという事も当方知りませんでしたので、横道に逸れない話題に戻れて良かったです。

  • iwasaki

    Tandaさん

    USBデバッグでの実行です

    教えて頂きありがとうございます

    execution.propertiesを確認します

  • Tanda

    iwasakiさん、

    まず確認ですが、execution.properties は必要に応じて、プロジェクトフォルダに自動生成されますので、手動でテンプレートファイルを編集する必要はないです。

    また、USBデバッグの場合、Magicの「動作環境」→「アプリケーションサーバ」→「HTTPリクエスタ」の設定が重要となります。ここがAndroidから見えるパスになっていますか?

  • iwasaki

    Tandaさん

    明けましておめでとうございます。

     

    HTTPリクエスタの設定を確認しました。

    /Magic49Scripts/MGrqispi.dll となっており、アンドロイド端末のwebブラウザでアクセスしたとき、404 not foundにならなかったため、androidから見えるパスになっていると思います。

  • Tanda

    iwasakiさん、

    そこがデフォルトの「/Magic49Scripts/MGrqispi.dll」のままになっていると、それは「http://localhost/Magic49Scripts/MGrqispi.dll」を指していることになります。

    Windowsデバッグの場合は、デバッグマシンもIISと同じマシンの場合が多いので、そのままの設定でもいいのですが、Androidの場合はマシンが異なりますので、フルパスで指定してやる必要があります。

    したがって、ここのパスを実際にIISが稼働しているパスにしてやればいいはずです。

  • iwasaki

    tandaさん

    アドバイスありがとうございます。
    HTTPリクエスタの設定を下記に変更しました。(ipアドレスはiisが稼動しているPC)

    http://192.168.x.xxx/Magic49Scripts/MGrqispi.dll

    書き換えて、再度実行してみましたが、cannot access the serverになってしまいます。

  • Tanda

    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)」は意味がないです。プロジェクトの全体を確認したいのであれば、開始プログラムからスタートして、全体の動作を確認するという流れになりますね。

  • iwasaki

    tandaさん

    ご指摘いただいた点を確認しましたが、IISサーバとAndroidは同じセグメントに属しているようです。

    「Androidで実行」についてのご説明もありがとうございます。
    「Androidで実行」について、プロジェクトの実行(Ctrl + F7)をしていました。
     F7で実行を試してみます

  • Tanda

    iwasakiさん、

    確認ですが、Magic開発版に同梱されている「Myapp.apk」もしくは「MagicDev.apk」はインストールされていますか?

  • iwasaki

    tandaさん

    「Myapp.apk」、「MagicDev.apk」両方未インストールです。

     

    アンドロイド端末でMagicDev.apkをインストールを実行しました。

    Myapp.apkについて、下記のフォルダ内で検索しましたが、見つけられませんでした。

    C:\Program Files (x86)\Magicxpa\Studio 4.9

  • nkmt

    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デバッグ実行は未知、未経験です。

  • Tanda

    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 キーで個々のタスクが実行できるようになりますから、本当に楽ですよ。

  • Tanda

    iwasakiさん、

    ちなみに、今さかのぼって調べてみましたら、私のところのAndroidセミナーでは、xpa 2.5の頃からUSBデバッグを動かしています(2016年5月頃から)。

  • Tanda

    iwasakiさん、

    補足です。

    run.bat に記述されている PackageName の設定ですが、これはMagicでインタフェースビルダを起動したときに、ウィザードの途中に出てくる「パッケージ名」の欄で確認できたはずです。

  • iwasaki

    nkmtさん
    コメントありがとうございます
    社内Wi-Fiやスマホのデザリングを使って、ノートPCとAndroidタブレットでxpaの実行ができたというのはすごいですね。客先でのデモも可能という点、便利で実用的だと思います。

  • iwasaki

    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の値がずれているということでしょうか?

  • Tanda

    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 です。

  • iwasaki

    tandaさん

    調べて頂きほんとうにありがとうございます。

    手順通りに実施、packagenameの記載がありました。

    添付画像の通り、値は一致しておりました。

     

     

     

     

  • Tanda

    iwasakiさん、

    あ、よかったですね。その文字列とrun.batに記載されたPackageNameの値が一致していれば、そのままで動くはずです。もしエラーが表示されるようでしたら、そのエラーをアップしてください。

  • iwasaki

    tandaさん

    cannnot accsess the serverとなっております

     

    android端末とpcをusbケーブルで繋いで、magicxpaでf7実行後

    この画面が表示されます。

     

  • Tanda

    iwasakiさん、

    やはり、IPアドレスの設定があやしいような気がしますね。下記の4つは整合性が取れていますか?

    1. IISサーバ(開発マシン)のIPアドレス
    2. Android機のIPアドレス
    3. 上記の2つが交信可能なサブネットマスクの設定
    4. 動作環境の「HTTPリクエスタ」へのパス設定

    あと、Magic付属の「adb.exe」をコマンドプロンプトで実行した際に、デバイスリストにそのAndroid機のデバイス番号は表示されますか?

  • iwasaki

    tandaさん

    コメントありがとうございます

    各設定を確認しました

    1.IISサーバ(開発マシン)

    2.Android機

    3.1と2のサブネットマスクの値から同じサブネットにいると思います。

    4.

    adb.exeを実行してみました。アンドロイド機のデバイス名が表示されました。

     

サインインしてコメントを残してください。