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

Android RIAアプリが動作しない

コメント

38件のコメント

  • Tanda

    サーバへのパスが間違っているのではないでしょうか?

    .txt内に記述されているパスは合っていますか?

    あるいは、その.txtへのパスは合っていますか?

  • Sui

    回答ありがとうございます。

    .txtのサーバのパスは正しく設定されていました。

    リッチクライアントビルダでも、「公開Webサーバの設定」と「アプリケーション用Webサーバの設定」の

    サーバ名に同じIPアドレスを設定しています。

     

  • Tanda

    リッチクライアントビルダのウィザードを実行されたとき、「外部の設定ファイルを参照」欄のチェックはどうされましたか?

    「外部の設定ファイルを参照」にチェックを入れた場合は、外部の.txtファイルが生成され、実行時にそれが参照されるようになります。

    ここにチェックを入れなかった場合は、execution.propertiesの中にアクセス先のサーバ情報が埋め込まれます。

  • Sui

    「外部の設定ファイルを参照」にチェックを入れています。

    ビルダのウィザード終了後、apkファイルと同じフォルダにtxtファイルが作成されますが、それが参照されるということでしょうか。

    その.txtのサーバのパスは正しく設定されていますが、この.txtへのパスはどうやって確認すればよいですか?

  • Tanda

    Chrome等のブラウザを起動して、アドレス欄にその.txtファイルへのパスを入れてみてください。.txtファイルの中身がブラウザに表示されればOKです。

  • Tanda

    URLは必ず、FQDN(http://等で始まる書式)で確認する必要があります。

  • Sui

    スマホのブラウザから.txtファイルの中身が確認できました。

  • Tanda

    そうすると、次に確認すべきはbuild.gradleの内容ですね。ちょっと今、出先から書いていますので、後で確認しますが、build.gradleの設定はビルド時の設定と一致していますか?

  • Tanda

    build.gradleではなくて、settings.propertiesだったかもしれません。事務所に戻ったら、あとで資料を確認してみます。

  • Tanda

    > (ビルドはandroid-28で行っています)

    たしか、どこかのドキュメントにMagic側のデフォルトに合わせたほうがよいというような記述があったと記憶しています。私は常に、セミナーも連載も、Magicのドキュメント通りの設定で確認しています。

  • Tanda

    失礼、ひょっとしたら、Magic xpa 4.6では、デフォルトがandroid-28になっていたかもしれません。確認してみてください。

  • Tanda

    おっと、ここはxpa 3.xの部屋でしたね。そしたら、android-28よりもっと前のバージョンだったはずです。

  • Tanda

    資料を確認してみましたら、フェーズを合わせるのは、build.gradleとsettings.propertiesの両方ですね。

    ただ、ちょっとxpa 3.3 RIA Sererの環境がすぐに確認できません。3.2ならすぐに確認できるのですが。

    Suiさんのところの、xpa 3.3のbuild.gradleとsettings.propertiesはどうなっていますか?

    ※build.gradleは複数個所にファイルがありますので注意してください。

  • Sui

    確認するのは、Magicxpa\RIA Server 3.3\RIAModules\Android\Source にある、build.gradleとsettings.propertiesでしょうか。

    それぞれのファイルの、どこをどのように確認するのか教えていただけますか?

  • Tanda

    ちょっと違います。

    Magicxpa\RIA Server 3.3\RIAModules\Android\Source
    にあるsettings.properties と

    Magicxpa\RIA Server 3.3\RIAModules\Android\Source\app
    にあるbuild.gradleです。

    ※パスが違いますので要注意です。

    それらに記述されているAndroid SDKのバージョン番号と、リッチクライアントビルダで指定するバージョン番号が一致しているかどうかです。

  • Tanda

    Androidのビルドは、一般的に、

    OS:Microsoft
    言語:Oracle
    開発環境:Google

    ですから、フェーズを合わせるのに結構、苦労します。

    その点、iOSのビルドは、常に、

    OS:Apple
    言語:Apple
    開発環境:Apple

    ですから、環境構築が非常に簡単です。

  • Sui

    それぞれ以下のようになっていました。

     

    【settings.properties】

    sdk.dir=C:\\Program Files\\Android\\android-sdk
    target=android-28

     

    【build.gradle】

    compileSdkVersion 28
    buildToolsVersion "28.0.3"

     

    android-28でビルドしているため、正しく設定されていると思うのですが……

  • Tanda

    Android-28で統一されているのでしたら、問題なさそうですね。

    差し支えなければ、.txtへの実際のパス(URL)と.txtの内容を問題のない範囲で教えてもらえますか?

     

  • Sui

    iOSのビルドも考えていたのですが、MacOSが手元になかったため保留になっています。

    現在iOSクライアントは、GooglePlayストアのMagicアプリから.txtを設定する方法で使用しています。

  • Sui

    テキストのURLは、http://[サーバIP]/Magic33RIAApplicationsRIA/MyApp/Android/AAA.txtです。

    同じ場所にAAA.apkもあります。

    Magic33RIAApplicationsRIA は、MagicRIAインストール時に設定した仮想ディレクトリです。

     

    テキストの内容は以下の通りです。

    <properties>
    <property key="protocol" val="http"/>
    <property key="server" val="[サーバIP]"/>
    <property key="requester" val="/Magic33ScriptsRIA/MGrqispi.dll"/>
    <property key="appname" val="AAA"/>
    <property key="prgname" val="LOGIN"/>
    <property key="LogClientSequenceForActivityMonitor" val="N"/>
    <property key="InternalLogLevel" val=""/>
    <property key="InternalLogFile" val=""/>
    <property key="InternalLogSync" val="Message"/>
    <property key="DisplayStatisticInformation" val="N"/>
    <property key="FirstHTTPRequestTimeout" val="2"/>
    </properties>

  • Tanda

    <property key="requester" val="/Magic33ScriptsRIA/MGrqispi.dll"/>

    上の行にある、

    「/Magic33ScriptsRIA」の先頭の「/」を削除して、やり直してみてください。

  • Sui

    「/Magic33ScriptsRIA」の先頭の「/」を削除して、apkのダウンロードからやり直しましたが、「cannot access the server」が表示されました。

  • Tanda

    おそらく、どこかのキャッシュがこの「/」を覚えているのだと思います。

    IISのキャッシュ、ブラウザのキャッシュ等を疑ってかかる必要がありそうですね。とくに、IISの強固なキャッシュにはいつも悩まされます。

     

  • Tanda

    Android側でアプリが保持しているキャッシュの可能性もあります。

  • Tanda

    ISHIJIMAさん、それは上でSuiさんが書かれている通りですよ。エイリアスをご自分で切られています。

  • Tanda

    > Android側でアプリが保持しているキャッシュの可能性もあります。

    アプリのキャッシュというより、アプリの領域がOS管理下で保持しているキャッシュです。これにも、いつも悩まされます。

    セミナーを主催していると、皆さんの環境であらゆるトラブルが発生しますので、かえって勉強になります。

  • Sui

    >インストール時にMagic33ScriptsRIAにしたという事でしょうか?

    そうです。

    インストール時に、Magic33ScriptsRIAとMagic33RIAApplicationsRIAを設定しました。

  • Tanda

    Androidのキャッシュは、アプリの完全削除をやったのち、OSの電源再起動をすればたいてい大丈夫だったと思います。

  • Tanda

    ちなみに、リッチクライアントビルダを使用せずに、Magicに同梱されているbuild.cmdを使ってビルドするという方法もありますので、ひと段落したらこちらも試されることをお勧めします。

    最近、私はもっぱらこちらを使用しています。環境設定がすべて自分の目で確認できますから安心です。

    iOSの場合も、ウィザードを使わずに、Magic同梱のiOSプロジェクトをそのままXcodeでビルドしています。

  • Tanda

    >「/Magic33ScriptsRIA」の先頭の「/」を削除して、やり直してみてください。

    Suiさん、ちょっと訂正です。私の環境で「/」を付けて試してみましたところ、同じように正常に動作しました。つまり、これが原因ではないということですね。失礼しました。

     

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