233: ONScripter on Androidのコンパイルができません


最新状況

タイトル ONScripter on Androidのコンパイルができません
状態 完了
カテゴリ その他
作成日時 2012-02-06 22:04:46
最終更新日時 2012-02-12 13:20:27

履歴

1 | 2012-02-06 22:04:46 | 提案
hoshimi_12 at yahoo.co.jp
バグ報告ではなく質問に近いので申し訳ないのですが、
他に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\??????????????\?????????\??????????&#9618;&#9618;?????????&#9618;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\??????????????\?????????\??????????&#9618;&#9618;?????????&#9618;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です。

よろしくお願いいたします。

2 | 2012-02-06 22:44:32 | 提案
hoshimi_12 at yahoo.co.jp
連投申し訳ございません。
文字化けが原因なのかなと思い、ファイルを移動して、フォルダ名を全てローマ字に変更
してもう一度試してみました。
文字化けはなくなったのですが、やはり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

3 | 2012-02-07 12:36:49 | 提案
hoshimi_12 at yahoo.co.jp
たびたびすいません……。
おそらく自己解決できました。

> 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)が予期せず停止しました。やり直してください。」


と表示され、また行き詰まりました。
考えられる原因はどういったものがありますでしょうか。

しかしこれは今回の質問内容とはまた異なりそうなので、ここで書くのは違うかもしれま
せんが……。

お騒がせしました。

4 | 2012-02-09 23:51:19 | 受付済
ogapee at aqua.dti2.ne.jp
対応が遅くなり申し訳ありません。

> 「環境変数 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 のページのアプリの作成方法についてもより分かりやすくしたい
と思っているので、よく分からない箇所があれば指摘していただけるとありがたいです。


よろしくお願い致します。

5 | 2012-02-10 00:49:51 | 受付済
hoshimi_12 at yahoo.co.jp
お忙しいなか返信ありがとうございます!

> ゲームデータはどうされていますか?

ゲームデータが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
strings.xml (text/xml, 1244 bytes) [表示] [ダウンロード]

6 | 2012-02-10 02:32:06 | 受付済
ogapee at aqua.dti2.ne.jp
> 「パターン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

7 | 2012-02-10 03:21:18 | 受付済
hoshimi_12 at yahoo.co.jp
こちら、前回記述したものと少しバージョンが変わりました。
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
です

8 | 2012-02-10 09:10:22 | 受付済
ogapee at aqua.dti2.ne.jp
> はい。プログレスバーは表示されず、いきなり「アプリ名(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

9 | 2012-02-10 10:35:58 | 受付済
hoshimi_12 at yahoo.co.jp
> 先頭に > や $ を入れずに入力してください。

再インストールして、「>」を含まずに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ファイルもアップしておきます。

10 | 2012-02-10 10:54:02 | 受付済
ogapee at aqua.dti2.ne.jp
送っていただいた 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 など必要なプログラムが作成されず、その状
態で続行していたため正しくアプリが作成されなかったようです。

11 | 2012-02-10 11:34:52 | 受付済
hoshimi_12 at yahoo.co.jp
awk.exeを消去したら上手くいきました!
インストールも上手くいって、デバッグ版が実機で動きました。
本当にありがとうございます!!

12 | 2012-02-10 12:02:04 | 受付済
hoshimi_12 at yahoo.co.jp
たびたびすみません……。
リリース版を作成しようとしたらまた躓いてしまいまして……。

「リリース版(アンドロイドマーケットで公開する場合)」を参考にして、
コンパイルし、電子署名などを試みたのですが、
生成された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

13 | 2012-02-10 12:02:17 | 完了
ogapee at aqua.dti2.ne.jp
解決してなによりです。

アプリを公開される場合は、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


それでは本報告は完了とさせていただきます。

もしまた不明な点が出てきた場合には、この報告にリプライをするか、もしくは新規にバ
グ報告を作成してください。

14 | 2012-02-10 12:19:20 | 完了
ogapee at aqua.dti2.ne.jp
> ちなみに電子署名はよくわからなかったので、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の説明を修正し
ました。


また、パッケージ名が同じである場合、電子署名が異なるため、デバッグ版がインストー
ルされた状態でリリース版を(更新)インストールすることはできません。事前にデバッ
グ版をアンインストールしてからリリース版をインストールしてください。

15 | 2012-02-10 13:14:03 | 完了
hoshimi_12 at yahoo.co.jp
こちらにリプライさせていただきます。
新規レポートを作成してしまい、申し訳ございません。

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
&#9618;L&#9618;[&#9618;X&#9618;g&#9618;A&#9618;&#771;p&#9618;X&#9618;&#9618;&#9618;[&#9618;h&#9618;&#9618;&#9618;&#9618;&#834;&#9618;&#9618;&#258;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;:
&#9618;L&#9618;[&#9618;X&#9618;g&#9618;A&#9618;&#771;p&#9618;X&#9618;&#9618;&#9618;[&#9618;h&#9618;&#9618;&#9618;Z&#9618;&#1986;&#9618;&#9618;&#1794;&#9618; - 6 &#9618;&#9618;&#9618;&#9618;&#9618;&#527;&#9618;&#578;&#9618;&#9618;&#258;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;B
&#9618;L&#9618;[&#9618;X&#9618;g&#9618;A&#9618;&#771;p&#9618;X&#9618;&#9618;&#9618;[&#9618;h&#9618;&#9618;&#9618;&#9618;&#834;&#9618;&#9618;&#258;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;:
&#9618;L&#9618;[&#9618;X&#9618;g&#9618;A&#9618;&#771;p&#9618;X&#9618;&#9618;&#9618;[&#9618;h&#9618;&#9618;&#9618;Z&#9618;&#1986;&#9618;&#9618;&#1794;&#9618; - 6 &#9618;&#9618;&#9618;&#9618;&#9618;&#527;&#9618;&#578;&#9618;&#9618;&#258;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;B
&#9618;L&#9618;[&#9618;X&#9618;g&#9618;A&#9618;&#771;p&#9618;X&#9618;&#9618;&#9618;[&#9618;h&#9618;&#9618;&#9618;&#9618;&#834;&#9618;&#9618;&#258;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;:
&#9618;L&#9618;[&#9618;X&#9618;g&#9618;A&#9618;&#771;p&#9618;X&#9618;&#9618;&#9618;[&#9618;h&#9618;&#9618;&#9618;Z&#9618;&#1986;&#9618;&#9618;&#1794;&#9618; - 6 &#9618;&#9618;&#9618;&#9618;&#9618;&#527;&#9618;&#578;&#9618;&#9618;&#258;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;B
&#9618;&#9618;Q&#9618;&#9618;&#9618;&#9618;&#9618;&#1986;&#9618;&#9618;&#1794;&#9618; - &#9618;&#9618;&#334;&#9618;&#9618;s&#9618;&#9618;&#9618;&#258;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;B

teru@teru-PC /cygdrive/c/cygwin/home/teru
$ /cygdrive/c/glassfishv3/jdk/bin/jarsigner.exe -verbose -keystore 
release.keystore ONScripter-unsigned.apk releasename
&#9618;L&#9618;[&#9618;X&#9618;g&#9618;A&#9618;&#771;p&#9618;X&#9618;&#9618;&#9618;[&#9618;h&#9618;&#9618;&#9618;&#9618;&#834;&#9618;&#9618;&#258;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;:
jarsigner: 
&#9618;&#9618;&#9618;p&#9618;X&#9618;&#9618;&#9618;[&#9618;h&#9618;&#9618;&#9618;&#9618;&#834;&#9618;&#9618;&#9618;K&#9618;v&#9618;&#9618;&#9618;&#9618;&#9618;&#9618;&#1794;&#9618;&#9618;B

そしてapkファイルを実機にインストールしようとしたのですが、やはり「インストールさ
れてません」と表示され、インストールできず。
デバッグ版はアンインストールしたはずなんですが。


あと説明文における質問なのですが、

> まず、証明書(鍵)release.keystore を以下のように作成します(コマンドは2行に分けず1行で入力してください)。
> releasename は鍵の別名で、自由に付けてください。
> この作業は電子署名の度にやらずに、事前に1度だけやっておきます。
> 毎回やると電子署名が変更されてしまい、アプリの更新インストールができなくなります。

これはつまり、「releasename」は一度つけたら、もう変更してはいけない、という解釈で
よろしいでしょうか。

16 | 2012-02-11 00:32:14 | 受付済
ogapee at aqua.dti2.ne.jp
> 以上のファイルの「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 のままでも特に問題はないと思います。

17 | 2012-02-11 01:58:24 | 受付済
hoshimi_12 at yahoo.co.jp
大変失礼しました。
AndroidManifest.xml
上のファイルの「jp.ogapee.onscripter」を置換するのを忘れており、置換したらビルド
が成功しました。
しかしやはりapkファイルをインストールしようとすると「インストールされてません」と
表示され、インストールできずです……。
ビルドが失敗したときよりは文字化けが減りましたが、まだ文字化けが最後のほうに出現
します。

http://www.ua062144.test.leosv.jp/date7.txt

上がそのときのCygwinの出力です。
文字化けがあるので参考にならないかもしれないですが……。申し訳ございません。


> date5.txt も Cygwin の出力も、肝心のエラーメッセージ?の部分が文字化けしていて読めません。
> なんと出力されているのか教えていただけないでしょうか。

大変申し訳ないのですが、文字化けを解消する手段がわからずです……。
出力の段階で、すでに文字化けが起きている状況です。
Cygwinにおける「日本語メッセージの文字化けに対応する」というエントリーがネット上
にあったので試してみたのですが、変わらずです。
やりかたが悪いのかもしれないですが……。

電子署名の出力も相変わらず文字化けしている感じです。

18 | 2012-02-11 03:05:16 | 受付済
hoshimi_12 at yahoo.co.jp
連投すいません。
リリース版が作成できないこととなにか関係があるのかと思い、報告させていただく次第
です。

指定ファイルの「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ファイルです。

19 | 2012-02-11 09:37:35 | 受付済
ogapee at aqua.dti2.ne.jp
スタートアップの Cygwin Terminal を実行すると文字化けするようなので、以下のファイ
ルを実行して Cygwin Bash Shell を立ち上げてください。

c:\cygwin\Cygwin.bat

リリース版は電子署名をしないとインストールできません。

また、電子署名を行う keytool.exe や jarsigner.exe を実行した後に、いくつか質問に
答える必要があります。

これについて補足をしたので、WEB の「Windows でのアプリの作成方法」を見てもう一度
試していただけないでしょうか。

20 | 2012-02-11 12:39:16 | 受付済
hoshimi_12 at yahoo.co.jp
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

21 | 2012-02-11 12:56:40 | 受付済
ogapee at aqua.dti2.ne.jp
date9.txt を見ると、最後に
BUILD SUCCESSFUL
と表示されているので、アプリの作成には成功していると思います。
色々メッセージが表示されていますが、特に問題はありません。


電子署名ですが、アプリのファイル名が正しく指定されていなかったようです。
以下のように(1行で)入力して試していただけないでしょうか。

$ ../glassfishv3/jdk/bin/jarsigner.exe -verbose -keystore release.keystore 
bin/ONScripter-release-unsigned.apk releasename

22 | 2012-02-11 13:33:34 | 受付済
hoshimi_12 at yahoo.co.jp
教えて頂いたように入力したら電子署名が出来たようです!

少し質問させて頂きたいのですが、
また証明書(鍵)を生成しようとしたら、以下のようなエラーが出ました。

$ /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カード上にはデータが落とされているようなのですが……。
ちなみにデバッグ版を作成しようとしても、同様の現象が起きてしまうようになりまし
た。
パッケージ名を変更せずにデバッグ版を作成したときは、ちゃんとダウンロードでき、実
機でアプリが起動できたのですが……。

23 | 2012-02-11 14:33:08 | 受付済
ogapee at aqua.dti2.ne.jp
> これはつまり、「証明書(鍵)を生成するのは後にも先にも一度だけでいい」「ただし電
> 子署名は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 の中身を展開しています。番号は展開したファイルの個数を表します。

24 | 2012-02-11 20:00:08 | 受付済
hoshimi_12 at yahoo.co.jp
出来ました!
ダウンロードも無事成功。アプリも最後まで問題なく動きました。
本当にありがとうございます!
いまAndroidmarketのほうで公開させていただきました。こちらも無事、動きました。
深く深く御礼申し上げますm(_ _)m 念願かなってアプリが公開できました。


それでマーケットでリリースする時に少し気になった表示があったのですが、

「apk に zipalign が実行されていません。apk に zipalign ツールを実行して携帯端末
上のパフォーマンスを向上させてください。」

上のような表示がされました。
この時は特に気にせず先に進めてしまいましたが、
これは無視してしまっても問題なかったでしょうか。
一応無視してもアップは出来たのですが……。


とにかく、本当にありがとうございましたm(_ _)m

25 | 2012-02-12 13:20:27 | 完了
ogapee at aqua.dti2.ne.jp
公開おめでとうございます。


> 「apk に zipalign が実行されていません。apk に zipalign ツールを実行して携帯端末
> 上のパフォーマンスを向上させてください。」
> 
> 上のような表示がされました。

zipalign については初めて知りました。
zipalign を実行する必要はありませんが、実行した方がいいみたいですね。


それでは本報告は完了とさせていただきます。

[リプライをつける]
Bug Tracking System 影舞 0.8.8
Powered by Ruby 1.8.7