タイトル | ONScripter on Androidのコンパイルができません |
---|---|
状態 | 完了 |
カテゴリ | その他 |
作成日時 | 2012-02-06 22:04:46 |
最終更新日時 | 2012-02-12 13:20:27 |
バグ報告ではなく質問に近いので申し訳ないのですが、 他にONScripter on Androidについて質問できる場所がなかったのでこちらに書かせて頂き ます。 いろいろ調べてみましたが、当方プログラミングなどに関してはまるで知識が乏しい人間 です。 まず誤字(?)についての報告なんですが、 Windowsでのアプリの作成方法・ソフトウェアの導入の「6」で、 「環境変数 JAVE_HOME」とありますが、こちら「環境変数 JAVA_HOME」でよろしいで しょうか? 調べて見たんですがJAVA_HOMEしか引っかからなかったもので。 次に本題なんですが、 ONScripter on Androidの「アプリ開発方法」を参考に、自作品のアプリ化を試みようとし たのですが、Cygwinでのコンパイルで躓きました。 Cygwinを起動し、ページの説明を参考にして打ち込んだのですが、 $ > cd /cygdrive/c/Users/teru/Documents/マイドキュメント/ゲーム製作まとめ /ONScripter/ライブラリと周辺プログラム一式/onscripter_android > cd /cygdrive/c/Users/teru/Documents/マイドキュメント/ゲーム製作まとめ/ONScripter/apache_ant/apache-ant-1.8.2/bin/ant clean > cd /cygdrive/c/Users/teru/Documents/マイドキュメント/ゲーム製作まとめ/ONScripter/apache_ant/apache-ant-1.8.2/bin/ant debug-bash: /cygdrive/c/Users/teru/Documents/マイドキュメント/ゲーム製作まとめ/ONScripter/ライブラリと周辺プログラム一式/onscripter_android: is a directory $ > cd /cygdrive/c/Users/teru/Documents/マイドキュメント/ゲーム製作まとめ /ONScripter/android_ndk/android-ndk-r7/ndk-build C:\Users\teru\Documents\▒}▒C▒h▒L▒▒▒▒▒▒▒g\▒Q▒[▒▒▒▒▒▒܂Ƃ▒\ONScripter\android_ndk\android-ndk-r7\prebuilt\windows\bin\awk.exe: can't open file /cygdrive/c/Users/teru/Documents/▒}▒C▒h▒L▒▒▒▒▒▒▒g/▒Q▒[▒▒▒▒▒▒܂Ƃ▒/ONScripter/android_ndk/android-ndk-r7/build/awk/check-awk.awk source line number 1 source file /cygdrive/c/Users/teru/Documents/▒}▒C▒h▒L▒▒▒▒▒▒▒g/▒Q▒[▒▒▒▒▒▒܂Ƃ▒/ONScripter/android_ndk/android-ndk-r7/build/awk/check-awk.awk context is >>> <<< /cygdrive/c/Users/teru/Documents/マイドキュメント/ゲーム製作まとめ /ONScripter/android_ndk/android-ndk-r7/build/core/init.mk:258: *** Android NDK: Aborting. . Stop. $ > cd /cygdrive/c/Users/teru/Documents/マイドキュメント/ゲーム製作まとめ /ONScripter/android-sdk/tools/android.bat update project -p . $ > cd /cygdrive/c/Users/teru/Documents/マイドキュメント/ゲーム製作まとめ /ONScripter/apache_ant/apache-ant-1.8.2/bin/ant clean BUILD FAILED C:\cygwin\home\teru\build.xml:83: Cannot find C:\Users\teru\Documents\??????????????\?????????\??????????▒▒?????????▒N???\ONScripter\android-sdk\tools\ant\build.xml imported from C:\cygwin\home\teru\build.xml Total time: 0 seconds $ > cd /cygdrive/c/Users/teru/Documents/マイドキュメント/ゲーム製作まとめ /ONScripter/apache_ant/apache-ant-1.8.2/bin/ant debug BUILD FAILED C:\cygwin\home\teru\build.xml:83: Cannot find C:\Users\teru\Documents\??????????????\?????????\??????????▒▒?????????▒N???\ONScripter\android-sdk\tools\ant\build.xml imported from C:\cygwin\home\teru\build.xml Total time: 0 seconds このような表示になり、apkは生成されず。大変恥ずかしいのですが、なにやら文字化けも 酷く。 素人ゆえに原因もわかりません。なにか助言を頂ければ幸いです。 自分が使用したバージョンは、 android-ndk-r7-windows android-sdk-r15 onscripter-20120204 java_ee_sdk-6u1-jdk-windows-ml apache-ant-1.8.2 です。 環境は、Windows vistaの32bitです。 よろしくお願いいたします。
連投申し訳ございません。 文字化けが原因なのかなと思い、ファイルを移動して、フォルダ名を全てローマ字に変更 してもう一度試してみました。 文字化けはなくなったのですが、やはりapkが生成されないようで。 $ > cd /cygdrive/c/Users/teru/Documents/mydocument/ONScripter/library/onscripter_android > cd /cygdrive/c/Users/teru/Documents/mydocument/ONScripter/apache_ant/apache-ant-1.8.2/bin/ant clean > cd /cygdrive/c/Users/teru/Documents/mydocument/ONScripter/apache_ant/apache-ant-1.8.2/bin/ant debug-bash: /cygdrive/c/Users/teru/Documents/mydocument/ONScripter/library/onscripter_android: is a directory $ > cd /cygdrive/c/Users/teru/Documents/mydocument/ONScripter/android_ndk/android-ndk- r7/ndk-build C:\Users\teru\Documents\mydocument\ONScripter\android_ndk\android-ndk- r7\prebuilt\windows\bin\awk.exe: can't open file /cygdrive/c/Users/teru/Documents/mydocument/ONScripter/android_ndk/android-ndk- r7/build/awk/check-awk.awk source line number 1 source file /cygdrive/c/Users/teru/Documents/mydocument/ONScripter/android_ndk/android-ndk-r7/build/awk/check-awk.awk context is >>> <<< /cygdrive/c/Users/teru/Documents/mydocument/ONScripter/android_ndk/android-ndk- r7/build/core/init.mk:258: *** Android NDK: Aborting. . Stop. $ > cd /cygdrive/c/Users/teru/Documents/mydocument/ONScripter/android- sdk/tools/android.bat update project -p . $ > cd /cygdrive/c/Users/teru/Documents/mydocument/ONScripter/apache_ant/apache-ant- 1.8.2/bin/ant clean $ > cd /cygdrive/c/Users/teru/Documents/mydocument/ONScripter/apache_ant/apache-ant- 1.8.2/bin/ant debug
たびたびすいません……。 おそらく自己解決できました。 > cd /cygdrive/c/cygwin/home/teru > cd /cygdrive/c/cygwin/home/android-ndk-r7/ndk-build > cd /cygdrive/c/cygwin/home/android-sdk/tools/android.bat update project -p . > cd /cygdrive/c/cygwin/home/apache-ant-1.8.2/bin/ant clean > cd /cygdrive/c/cygwin/home/apache-ant-1.8.2/bin/ant debug このように入力したらapkが生成されました。 しかし実機に移してインストールし、起動すると、 「アプリ名(jp.ogapee.onscripter)が予期せず停止しました。やり直してください。」 と表示され、また行き詰まりました。 考えられる原因はどういったものがありますでしょうか。 しかしこれは今回の質問内容とはまた異なりそうなので、ここで書くのは違うかもしれま せんが……。 お騒がせしました。
対応が遅くなり申し訳ありません。 > 「環境変数 JAVE_HOME」とありますが、こちら「環境変数 JAVA_HOME」でよろしいでしょうか? ご指摘ありがとうございます。JAVA_HOME が正しいです。 > 文字化けが原因なのかなと思い、ファイルを移動して、フォルダ名を全てローマ字に変更してもう一度試してみました。 2byte 文字(漢字やかな)がディレクトリ名やファイル名に入るとうまくいかないようで すね。ONScripter on Android のページにこのことを追記しました。 > 「アプリ名(jp.ogapee.onscripter)が予期せず停止しました。やり直してください。」 ゲームデータはどうされていますか? WEBからダウンロードする方式でしょうか。それとも onscripter_android/assets 以下 に配置する方式(容量制限あり)でしょうか。 また onscripter_android/res/values/strings.xml はどのように設定されていますか? この場では差し支える場合は、メールで私に情報を送ってください。 ONScripter on Android のページのアプリの作成方法についてもより分かりやすくしたい と思っているので、よく分からない箇所があれば指摘していただけるとありがたいです。 よろしくお願い致します。
お忙しいなか返信ありがとうございます! > ゲームデータはどうされていますか? ゲームデータが50MBを超えるので、レンタルサーバーにアップして、 そこからダウンロードするようにしようと思っています。WEBからダウンロードする方式、 というものでしょうか。 「パターン2:ゲームデータを初回にダウンロードするアプリの作成」を元にメモ帳で設 定しました。 strings.xmlは以下のようになっています。 <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">kimikime</string> <string name="version">kimikime 20120206</string> <bool name="use_launcher">false</bool> <bool name="use_download">true</bool> <bool name="button_visible">true</bool> <bool name="screen_centered">false</bool> <string name="download_version">.20110806</string> <string name="download_url">http://www.ua062144.test.leosv.jp/game1_pack.zip</string> <string name="password"></string> <string name="button_rclick">Right Click</string> <string name="button_lclick">Left Click</string> <string name="button_up">Up</string> <string name="button_down">Down</string> <string name="menu_automode">Automode</string> <string name="menu_skip">Skip</string> <string name="menu_speed">Change Speed</string> <string name="menu_settings">Settings</string> <string name="menu_show_buttons">Show Buttons</string> <string name="menu_hide_buttons">Hide Buttons</string> <string name="menu_topleft">Show at the Top-Left</string> <string name="menu_center">Show at the Center</string> <string name="menu_version">Version</string> <string name="menu_quit">Quit</string> </resources> 一応ファイルも添付しておきます。 「http://www.ua062144.test.leosv.jp/game1_pack.zip」 こちらがレンタルサーバーに上げたゲームのファイルです。 レオサーバーというところの、一週間お試しサーバーを使用しました。 あと数日は使えるはずですが。 > ONScripter on Android のページのアプリの作成方法についてもより分かりやすくしたい > と思っているので、よく分からない箇所があれば指摘していただけるとありがたいです。 自分はCygwinのパス指定で相当悩みました……。 ファイルやフォルダ名に「スペース」や「日本語」を使ってはいけないことに気がつくま で、かなり時間を掛けてしまって。 あと細かいことですが「../」の意味がよくわからず、結局フルパスで指定した次第です。 「一つ上のディレクトリ」という意味とのことですが、Cygwinにそれで入力すると、やり 方が悪いのかなかなか上手くいかなくて……。 やったコンパイルできた!と思ったら、いまは専らapkファイルが実機で動かなくて頭を抱 えている次第です。 Cygwinはそれとなくエラーを吐いてくれるので、意味がなんとなくわかったのですが、 どうも実機でのエラーは原因がわからず……。 よろしくお願いしますm(_ _)m
> 「パターン2:ゲームデータを初回にダウンロードするアプリの作成」を元にメモ帳で設 > 定しました。 インターネットからダウンロードする方式ですね。 strings.xml の設定もこれで問題無いと思います。 この設定をそのまま使ってこちらでアプリを作成して HTC Desire にインストールしたと ころ、問題無く zip をダウンロードしてゲームを開始することができました。 こちらの環境では android-sdk-r16 を使い、onscripter-20120205 と onscripter- 20120209 で確認しましたが、そちらの環境でもおそらく大丈夫だと思います。 アプリをインストールして実行すると、初回にはプログレスバーが表示され zip のダウン ロードが開始されます。 プログレスバーも表示されず、いきなり「アプリ名(jp.ogapee.onscripter)が予期せず 停止しました。やり直してください。」と表示されるのでしょうか。 アプリを作成する前に onscripter_android/AndroidManifest.xml の以下の行を有効にし ていますでしょうか?デフォルトではコメントアウトされており、ネットワーク通信が不 許可になっています。 <uses-permission android:name="android.permission.INTERNET"></uses-permission> > 自分はCygwinのパス指定で相当悩みました……。 > ファイルやフォルダ名に「スペース」や「日本語」を使ってはいけないことに気がつくま > で、かなり時間を掛けてしまって。 スペースを入れない点についても追記しました。 > あと細かいことですが「../」の意味がよくわからず、結局フルパスで指定した次第です。 > > 「一つ上のディレクトリ」という意味とのことですが、Cygwinにそれで入力すると、やり > 方が悪いのかなかなか上手くいかなくて……。 ../ を含めてそのまま入力すればうまくいくはずなのですが…。 cd は一番最初にディレクトリを移動するときだけ入力し、それ以降は入力してはいけませ ん。onscripter_android が /cygdrive/c/cygwin/home/teru に展開されているとして、フ ルパスの場合以下のように入力するのが正しいと思います。 > cd /cygdrive/c/cygwin/home/teru > /cygdrive/c/cygwin/home/android-ndk-r7/ndk-build > /cygdrive/c/cygwin/home/android-sdk/tools/android.bat update project -p . > /cygdrive/c/cygwin/home/apache-ant-1.8.2/bin/ant clean > /cygdrive/c/cygwin/home/apache-ant-1.8.2/bin/ant debug
こちら、前回記述したものと少しバージョンが変わりました。 android-ndk-r7-windows android-sdk-r16 onscripter-20120205 java_ee_sdk-6u1-jdk-windows-ml apache-ant-1.8.2 上記のようになっています。 > プログレスバーも表示されず、いきなり「アプリ名(jp.ogapee.onscripter) > が予期せず停止しました。やり直してください。」と表示されるのでしょう > か。 はい。プログレスバーは表示されず、いきなり「アプリ名(jp.ogapee.onscripter)が予 期せず停止しました。やり直してください。」が表示され終了します。 > アプリを作成する前に onscripter_android/AndroidManifest.xml の以下の行 > を有効にしていますでしょうか?デフォルトではコメントアウトされており、 > ネットワーク通信が不許可になっています。 はい。「<!--」などを削除し、 「このアプリケーションが許可する権限」に「ネットワーク通信」が含まれている状態で す。 >cd は一番最初にディレクトリを移動するときだけ入力し、それ以降は入力して >はいけません。onscripter_android が /cygdrive/c/cygwin/home/teru に展開 >されているとして、フルパスの場合以下のように入力するのが正しいと思いま >す。 こちらを参考にして再度コンパイルを試みてみましたが、以下のようになりました。 > cd /cygdrive/c/cygwin/home/teru > /cygdrive/c/cygwin/home/android-ndk-r7/ndk-build > /cygdrive/c/cygwin/home/android-sdk/tools/android.bat update project -p . > /cygdrive/c/cygwin/home/apache-ant-1.8.2/bin/ant clean > /cygdrive/c/cygwin/home/apache-ant-1.8.2/bin/ant debug 上記のように入力すると、以下のような状態になります。 $ > cd /cygdrive/c/cygwin/home/teru -bash: /cygdrive/c/cygwin/home/teru: is a directory $ > /cygdrive/c/cygwin/home/android-ndk-r7/ndk-build $ > /cygdrive/c/cygwin/home/android-sdk/tools/android.bat update project -p . -bash: update: command not found $ > /cygdrive/c/cygwin/home/apache-ant-1.8.2/bin/ant clean -bash: clean: command not found $ > /cygdrive/c/cygwin/home/apache-ant-1.8.2/bin/ant debug この状態になった途端にPCが重くなり、先に進まなくなりました。30分ほど待っても進ま ずです。 また、android.bat、ndk-build、antなどが0バイトないし1バイトになってしまう現象が起 きます。 全てに「cd」を入れるとこうはならないんですが。 とはいえそれで作成したapkファイルは上手く動かない次第で……。 ちなみに実機の環境は、 IS05 バージョンは2.3.4 です
> はい。プログレスバーは表示されず、いきなり「アプリ名(jp.ogapee.onscripter)が予 > 期せず停止しました。やり直してください。」が表示され終了します。 aLogcat というアプリがアンドロイドマーケットにあり、これを実行すると実機で他のア プリを実行した際に記録されるログを見ることができます。作成されたアプリが終了した 直後に aLogCat を立ち上げて、ログに記録された関連しそうな情報を教えていただけない でしょうか。 もしくは、作成されたアプリをWEBに置いてURLを送っていただければ、こちらで試 してみます。 > こちらを参考にして再度コンパイルを試みてみましたが、以下のようになりました。 略 > この状態になった途端にPCが重くなり、先に進まなくなりました。30分ほど待っても進ま > ずです。 > また、android.bat、ndk-build、antなどが0バイトないし1バイトになってしまう現象が起 > きます。 > 全てに「cd」を入れるとこうはならないんですが。 > とはいえそれで作成したapkファイルは上手く動かない次第で……。 こちらの説明があいまいでした。申し訳ありません。 先頭の > は cygwin bash shell のプロンプトのつもりでした。また、正しくは $ で すね。先頭に > や $ を入れずに入力してください。 $ cd /cygdrive/c/cygwin/home/teru $ /cygdrive/c/cygwin/home/android-ndk-r7/ndk-build $ /cygdrive/c/cygwin/home/android-sdk/tools/android.bat update project -p . $ /cygdrive/c/cygwin/home/apache-ant-1.8.2/bin/ant clean $ /cygdrive/c/cygwin/home/apache-ant-1.8.2/bin/ant debug > また、android.bat、ndk-build、antなどが0バイトないし1バイトになってしまう現象が起きます。 '>' を入力するとコマンドが上書きされてしまうため、android.bat, ndk-build, ant などが0バイトになってしまいます。 コマンドが失われてしまったため、たいへんお手数ですが以下のプログラムを再インスト ールしてください。 android-ndk-r7-windows android-sdk-r16 apache-ant-1.8.2
> 先頭に > や $ を入れずに入力してください。 再インストールして、「>」を含まずにCygwinに入力したら、前と挙動がかなり変わり ました。 前はすぐに動作が終わったのですが、今回はいろいろな処理をしているのがCygwinの画面 で見て取れました。 ただやはり、生成されたapkファイルをインストールして起動しても、瞬時に「予期せず停 止」となりました。 http://www.ua062144.test.leosv.jp/date1.txt 参考になるかわかりませんが、そのときCygwinが吐き出したものは上になります。 一部文字化けが起こっているようです。 > 作成されたアプリが終了した直後に aLogCat を立ち上げて、ログに記録された関連しそうな情報を教えていただけないでしょうか。 > もしくは、作成されたアプリをWEBに置いてURLを送っていただければ、こちらで試してみます。 http://www.ua062144.test.leosv.jp/alogcat.2012-02-10-09-24-34+0900.txt http://www.ua062144.test.leosv.jp/ONScripter-debug.apk (「>」を含めた状態でコンパイルしたもの) http://www.ua062144.test.leosv.jp/alogcat.2012-02-10-10-11-07+0900.txt http://www.ua062144.test.leosv.jp/ONScripter-debug2.apk (「>」を含めずにコンパイルしたもの) 上記にアップしました。一応両パターンともアップしておきます。 ログに関してはどの部分が関連項目がわからなかったので、セーブしたテキストをそのま ま載せさせていただきました。申し訳ございません。 念のためapkファイルもアップしておきます。
送っていただいた aLogcat のログを見ると、以下のようなエラーが出ています。 E/AndroidRuntime(15124): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load mad: findLibrary returned null アプリに同梱されるはずの libmad.so というライブラリが読み込めないというエラーで す。 アプリの方を見てみると、たしかに libmad.so が入っていませんでした。.apk は中身は zip なので、拡張子を zip に変更して任意の解凍ソフトで展開すると中身を見ることがで きます。 アプリ作成のログ(date1.txt)を見ると、以下のようなエラーが発生して ndk-build に失 敗しています。 Android NDK: Host 'awk' tool is outdated. Please define HOST_AWK to point to Gawk or Nawk ! /cygdrive/c/cygwin/home/android-ndk-r7/build/core/init.mk:258: *** Android NDK: Aborting. . Stop. これは既知の不具合で、ONScripter on Android のページでも補足しておきましたが、以 下のファイルを消去して再度 ndk-build 以降の手順をやり直すとうまくいくと思います。 /cygdrive/c/cygwin/home/android-ndk-r7/prebuilt/windows/bin/awk.exe ndk-build に失敗していたため、libmad.so など必要なプログラムが作成されず、その状 態で続行していたため正しくアプリが作成されなかったようです。
awk.exeを消去したら上手くいきました! インストールも上手くいって、デバッグ版が実機で動きました。 本当にありがとうございます!!
たびたびすみません……。 リリース版を作成しようとしたらまた躓いてしまいまして……。 「リリース版(アンドロイドマーケットで公開する場合)」を参考にして、 コンパイルし、電子署名などを試みたのですが、 生成されたONScripter-unsigned.apkをインストールしようとすると、 「インストールされていません」と表示されて、インストールすることができませんでし た。 ちなみに電子署名はよくわからなかったので、releasenameの部分は変更していません。 -bash: release.keystore: command not found となっていたので、これは上手く電子署名ができなかったということなのでしょうか。 /cygdrive/c/glassfishv3/jdk/bin/jarsigner.exe -verbose -keystore release.keystore ONScripter-unsigned.apk releasename コンパイルしたあと、続けざまに上のように入力いたしました。 http://www.ua062144.test.leosv.jp/date4.txt 上はCygwinに表示されたものです。 デバッグ版をコンパイルしたときとずいぶん挙動が違っていたように思えました。 すぐに終了したといいますか。 何度も申し訳ございませんm(_ _)m
解決してなによりです。 アプリを公開される場合は、ONScripter on Android のページの「パッケージ名の変更」 を参考に、パッケージ名を jp.ogapee.onscripter から他の名前に変更してください。そ うしないと当サイトで配布しているアプリと共存できなくなります。 なお、当該箇所の onscripter_android/src/*.java: とは、onscripter_android/src/ 直下にある以下の5つのファイルを変更することを意味 します。 Audio.java DataDownloader.java GLSurfaceView_SDL.java ONScripter.java Video.java それでは本報告は完了とさせていただきます。 もしまた不明な点が出てきた場合には、この報告にリプライをするか、もしくは新規にバ グ報告を作成してください。
> ちなみに電子署名はよくわからなかったので、releasenameの部分は変更していません。 > -bash: release.keystore: command not found > となっていたので、これは上手く電子署名ができなかったということなのでしょうか。 電子署名がうまくいっていません。 $ ../glassfishv3/jdk/bin/keytool.exe -genkey -v -keystore release.keystore - alias releasename -keyalg RSA -validity 10000 および $ ../glassfishv3/jdk/bin/jarsigner.exe -verbose -keystore release.keystore ONScripter-unsigned.apk releasename の箇所は、一見改行されているように見えますが、それぞれ1行で入力してください。2 行に分けてはいけません。 なお、keytool.exe の方を先に実行して、release.keystore を作成してから jarsigner.exe を実行してください。これも分かりづらかったためWEBの説明を修正し ました。 また、パッケージ名が同じである場合、電子署名が異なるため、デバッグ版がインストー ルされた状態でリリース版を(更新)インストールすることはできません。事前にデバッ グ版をアンインストールしてからリリース版をインストールしてください。
こちらにリプライさせていただきます。 新規レポートを作成してしまい、申し訳ございません。 Audio.java DataDownloader.java GLSurfaceView_SDL.java ONScripter.java Video.java 以上のファイルの「jp.ogapee.onscripter」の部分を「com.hoshimi.kimikime」に置換し たのですが、 するとビルドに失敗しました。 「jp.ogapee.onscripter」に戻すとビルドに成功するのですが……。 http://www.ua062144.test.leosv.jp/date5.txt 上がそのときのCygwinの表示です。 また、「jp.ogapee.onscripter」のままでコンパイルし、 続けざまに、 /cygdrive/c/glassfishv3/jdk/bin/keytool.exe -genkey -v -keystore release.keystore -alias releasename -keyalg RSA -validity 10000 /cygdrive/c/glassfishv3/jdk/bin/jarsigner.exe -verbose -keystore release.keystore ONScripter-unsigned.apk releasename の順でCygwinに入力しました。一行に致しました。 すると以下のようになりました。 teru@teru-PC /cygdrive/c/cygwin/home/teru $ /cygdrive/c/glassfishv3/jdk/bin/keytool.exe -genkey -v -keystore release.keystore -alias releasename -keyalg RSA -validity 10000 ▒L▒[▒X▒g▒A▒̃p▒X▒▒▒[▒h▒▒▒▒͂▒▒Ă▒▒▒▒▒▒▒: ▒L▒[▒X▒g▒A▒̃p▒X▒▒▒[▒h▒▒▒Z▒߂▒▒܂▒ - 6 ▒▒▒▒▒ȏ▒ɂ▒▒Ă▒▒▒▒▒▒▒▒B ▒L▒[▒X▒g▒A▒̃p▒X▒▒▒[▒h▒▒▒▒͂▒▒Ă▒▒▒▒▒▒▒: ▒L▒[▒X▒g▒A▒̃p▒X▒▒▒[▒h▒▒▒Z▒߂▒▒܂▒ - 6 ▒▒▒▒▒ȏ▒ɂ▒▒Ă▒▒▒▒▒▒▒▒B ▒L▒[▒X▒g▒A▒̃p▒X▒▒▒[▒h▒▒▒▒͂▒▒Ă▒▒▒▒▒▒▒: ▒L▒[▒X▒g▒A▒̃p▒X▒▒▒[▒h▒▒▒Z▒߂▒▒܂▒ - 6 ▒▒▒▒▒ȏ▒ɂ▒▒Ă▒▒▒▒▒▒▒▒B ▒▒Q▒▒▒▒▒߂▒▒܂▒ - ▒▒Ŏ▒▒s▒▒▒Ă▒▒▒▒▒▒▒▒B teru@teru-PC /cygdrive/c/cygwin/home/teru $ /cygdrive/c/glassfishv3/jdk/bin/jarsigner.exe -verbose -keystore release.keystore ONScripter-unsigned.apk releasename ▒L▒[▒X▒g▒A▒̃p▒X▒▒▒[▒h▒▒▒▒͂▒▒Ă▒▒▒▒▒▒▒: jarsigner: ▒▒▒p▒X▒▒▒[▒h▒▒▒▒͂▒▒▒K▒v▒▒▒▒▒▒܂▒▒B そしてapkファイルを実機にインストールしようとしたのですが、やはり「インストールさ れてません」と表示され、インストールできず。 デバッグ版はアンインストールしたはずなんですが。 あと説明文における質問なのですが、 > まず、証明書(鍵)release.keystore を以下のように作成します(コマンドは2行に分けず1行で入力してください)。 > releasename は鍵の別名で、自由に付けてください。 > この作業は電子署名の度にやらずに、事前に1度だけやっておきます。 > 毎回やると電子署名が変更されてしまい、アプリの更新インストールができなくなります。 これはつまり、「releasename」は一度つけたら、もう変更してはいけない、という解釈で よろしいでしょうか。
> 以上のファイルの「jp.ogapee.onscripter」の部分を「com.hoshimi.kimikime」に置換し > たのですが、 > するとビルドに失敗しました。 > 「jp.ogapee.onscripter」に戻すとビルドに成功するのですが……。 java ファイル以外の下記のファイルも変更していますでしょうか? Android.mk の方は、. ではなく _ が区切りになっていることに注意してください。 onscripter_android/jni/Android.mk: SDL_JAVA_PACKAGE_PATH := jp_ogapee_onscripter onscripter_android/AndroidManifest.xml: package="jp.ogapee.onscripter" > http://www.ua062144.test.leosv.jp/date5.txt > > 上がそのときのCygwinの表示です。 date5.txt も Cygwin の出力も、肝心のエラーメッセージ?の部分が文字化けしていて読 めません。なんと出力されているのか教えていただけないでしょうか。 > これはつまり、「releasename」は一度つけたら、もう変更してはいけない、という解釈で > よろしいでしょうか。 そうだと思います。 releasename のままでも特に問題はないと思います。
大変失礼しました。 AndroidManifest.xml 上のファイルの「jp.ogapee.onscripter」を置換するのを忘れており、置換したらビルド が成功しました。 しかしやはりapkファイルをインストールしようとすると「インストールされてません」と 表示され、インストールできずです……。 ビルドが失敗したときよりは文字化けが減りましたが、まだ文字化けが最後のほうに出現 します。 http://www.ua062144.test.leosv.jp/date7.txt 上がそのときのCygwinの出力です。 文字化けがあるので参考にならないかもしれないですが……。申し訳ございません。 > date5.txt も Cygwin の出力も、肝心のエラーメッセージ?の部分が文字化けしていて読めません。 > なんと出力されているのか教えていただけないでしょうか。 大変申し訳ないのですが、文字化けを解消する手段がわからずです……。 出力の段階で、すでに文字化けが起きている状況です。 Cygwinにおける「日本語メッセージの文字化けに対応する」というエントリーがネット上 にあったので試してみたのですが、変わらずです。 やりかたが悪いのかもしれないですが……。 電子署名の出力も相変わらず文字化けしている感じです。
連投すいません。 リリース版が作成できないこととなにか関係があるのかと思い、報告させていただく次第 です。 指定ファイルの「jp.ogapee.onscripter」「jp_ogapee_onscripter」をオリジナルに置換 したあと、デバッグ版のapkの生成を試みたのですが、 生成されたapkファイルをインストールして実行すると、プログレスバーが出現してダウン ロードが始まるのですが、 ダウンロードにやけに時間が掛かったあと、「予期せずに停止」となってダウンロードが 強制終了されました。 アプリを再起動しても、その後は「予期せずに停止」のままで、プログレスバーも出現し ません。 「jp_ogapee_onscripter」を置換する前は上手くいったのですが、それゆえにアレ?と思 いまして……。 コンパイル時も、前に実機での起動が成功したときとはCygwinの表示がまるで違っていま して。 http://www.ua062144.test.leosv.jp/alogcat.2012-02-11-02-43-23+0900.txt http://www.ua062144.test.leosv.jp/ONScripter-debug3.apk 上がその時のログと、apkファイルです。
スタートアップの Cygwin Terminal を実行すると文字化けするようなので、以下のファイ ルを実行して Cygwin Bash Shell を立ち上げてください。 c:\cygwin\Cygwin.bat リリース版は電子署名をしないとインストールできません。 また、電子署名を行う keytool.exe や jarsigner.exe を実行した後に、いくつか質問に 答える必要があります。 これについて補足をしたので、WEB の「Windows でのアプリの作成方法」を見てもう一度 試していただけないでしょうか。
Cygwin.batから起動したら文字化けがなくなり、日本語が表示されるようになりました。 本当にありがとうございますm(_ _)m 補足についても、非常に助かりますm(_ _)m 以前文字化けしていた部分が以下になります。 ちなみにデバッグ版を生成しようとしても、以下の表示が出ました。 どうもパッケージ名を変更してからおかしくなったような……。なにか間違えてしまった のでしょうか……。 -compile: [javac] Compiling 1082 source files to C:\cygwin\home\teru\bin\classes [javac] 注:一部の入力ファイルは推奨されない API を使用またはオーバーライドし ています。 [javac] 注:詳細については、-Xlint:deprecation オプションを指定して再コンパイ ルしてください。 [javac] 注:入力ファイルの操作のうち、未チェックまたは安全ではないものがあり ます。 [javac] 注:詳細については、-Xlint:unchecked オプションを指定して再コンパイル してください。 また、Cygiwinに出力された他の部分も一応アップしておきます。 http://www.ua062144.test.leosv.jp/date9.txt 何かに失敗しているようなので、このまま電子署名してもダメだとは思ったんですが、試 しにやってみました。 「keytoolコマンドで公開するandroidアプリに署名するための証明書(鍵)を生成する」 を参考にさせていただき、 証明書を生成するところまではたぶんできたのですが(証明書ファイルなるものの確認方 法がよくわからなかったのですが……)、 次の「jarsignerコマンドで公開するandroidアプリにデジタル署名する」で、以下のよう な表示が出て、先へ進むことができませんでした。 $ /cygdrive/c/glassfishv3/jdk/bin/jarsigner.exe -verbose -keystore release.keys tore ONScripter-unsigned.apk releasename キーストアのパスワードを入力してください: jarsigner: 次の jar ファイルを開くことができません: ONScripter-unsigned.apk
date9.txt を見ると、最後に BUILD SUCCESSFUL と表示されているので、アプリの作成には成功していると思います。 色々メッセージが表示されていますが、特に問題はありません。 電子署名ですが、アプリのファイル名が正しく指定されていなかったようです。 以下のように(1行で)入力して試していただけないでしょうか。 $ ../glassfishv3/jdk/bin/jarsigner.exe -verbose -keystore release.keystore bin/ONScripter-release-unsigned.apk releasename
教えて頂いたように入力したら電子署名が出来たようです! 少し質問させて頂きたいのですが、 また証明書(鍵)を生成しようとしたら、以下のようなエラーが出ました。 $ /cygdrive/c/glassfishv3/jdk/bin/keytool.exe -genkey -v -keystore release.keys tore -alias releasename -keyalg RSA -validity 10000 キーストアのパスワードを入力してください: keytool エラー: java.lang.Exception: 鍵ペアは生成されませんでした。別名 <release name> はすでに存在します。 java.lang.Exception: 鍵ペアは生成されませんでした。別名 <releasename> はす でに存 在します。 at sun.security.tools.KeyTool.doGenKeyPair(KeyTool.java:1129) at sun.security.tools.KeyTool.doCommands(KeyTool.java:786) at sun.security.tools.KeyTool.run(KeyTool.java:172) at sun.security.tools.KeyTool.main(KeyTool.java:166) これはつまり、「証明書(鍵)を生成するのは後にも先にも一度だけでいい」「ただし電 子署名はapkを生成したたびに行う」 という解釈でよろしいでしょうか。 次に本題なのですが、 電子署名はおそらくできたようで、実機にインストールができました。 しかしいざWEBからダウンロードを開始すると、失敗してしまいます。その後「予期せず停 止」となります。 最初は普通にダウンロードが続いていくのですが、 途中で「Extracting archives」と表示され、またダウンロードが続いていきました。 Extracting archives:32までいって、最後までプログレスバーが進んだ瞬間、「予期せず 停止」となりました。 SDカード上にはデータが落とされているようなのですが……。 ちなみにデバッグ版を作成しようとしても、同様の現象が起きてしまうようになりまし た。 パッケージ名を変更せずにデバッグ版を作成したときは、ちゃんとダウンロードでき、実 機でアプリが起動できたのですが……。
> これはつまり、「証明書(鍵)を生成するのは後にも先にも一度だけでいい」「ただし電 > 子署名はapkを生成したたびに行う」 > という解釈でよろしいでしょうか。 そうです。 証明書として release.keystore というファイルが生成されていると思います。これを削 除すれば、再度証明書を生成することができます。 > 次に本題なのですが、 > 電子署名はおそらくできたようで、実機にインストールができました。 > しかしいざWEBからダウンロードを開始すると、失敗してしまいます。その後「予期せず停 > 止」となります。 > > 最初は普通にダウンロードが続いていくのですが、 > 途中で「Extracting archives」と表示され、またダウンロードが続いていきました。 > Extracting archives:32までいって、最後までプログレスバーが進んだ瞬間、「予期せず > 停止」となりました。 こちらでも同じ現象を確認しました。 パッケージ名を変更した場合は、直後にアプリを作成するときに ndk-build に -B オプシ ョンを付けて実行してください。ソースを全てコンパイルし直します。 $ cd /cygdrive/c/src/onscripter_android $ ../android-ndk-r7/ndk-build -B $ ../android-sdk/tools/android.bat update project -p . $ ../apache-ant-1.8.2/bin/ant clean $ ../apache-ant-1.8.2/bin/ant debug パッケージ名を com.hoshimi.kimikime に変更し、上の手順に従ってリリース版のパッケ ージを作成してインストール+実行してみたところ、無事にゲームが開始されました。 なお、Extracting archives と表示されているときは、ダウンロードは終了しており、 zip の中身を展開しています。番号は展開したファイルの個数を表します。
出来ました! ダウンロードも無事成功。アプリも最後まで問題なく動きました。 本当にありがとうございます! いまAndroidmarketのほうで公開させていただきました。こちらも無事、動きました。 深く深く御礼申し上げますm(_ _)m 念願かなってアプリが公開できました。 それでマーケットでリリースする時に少し気になった表示があったのですが、 「apk に zipalign が実行されていません。apk に zipalign ツールを実行して携帯端末 上のパフォーマンスを向上させてください。」 上のような表示がされました。 この時は特に気にせず先に進めてしまいましたが、 これは無視してしまっても問題なかったでしょうか。 一応無視してもアップは出来たのですが……。 とにかく、本当にありがとうございましたm(_ _)m
公開おめでとうございます。 > 「apk に zipalign が実行されていません。apk に zipalign ツールを実行して携帯端末 > 上のパフォーマンスを向上させてください。」 > > 上のような表示がされました。 zipalign については初めて知りました。 zipalign を実行する必要はありませんが、実行した方がいいみたいですね。 それでは本報告は完了とさせていただきます。