タイトル | 初回起動時の構成ファイルのコピーに失敗します |
---|---|
状態 | 完了 |
カテゴリ | その他 |
作成日時 | 2012-02-01 17:16:37 |
最終更新日時 | 2013-01-13 23:40:49 |
2012-01-03 05:02:13 に、「Android用のコンパイルできません」のバグ報告をしたもの です。 おかげさまで、それに関しては、ご回答どおり、android-sdk-r15 でコンパイルでき、ひ とまず解決したと思っています。 しかし、それでエラー無しでコンパイルして作成された(ゲームデータを内蔵したアプリ の作成)、onscripter_android/bin/ONScripter-debug.apk をインストールしても、正常 に動きません。具体的には、一瞬起動してボタン(「右クリック」「左クリック」「上」 「下」)が表示されるのですが、次の瞬間終了します。 調べてみると、 〜〜〜〜〜 アプリ作成時の配置(コピー元): onscripter_android/assets/arc.nsa onscripter_android/assets/default.ttf onscripter_android/assets/nscript.dat 初回起動後もしくはアプリ更新後の構成(コピー先): /sdcard/Android/data/jp.ogapee.onscripter/.20110806 /sdcard/Android/data/jp.ogapee.onscripter/arc.nsa /sdcard/Android/data/jp.ogapee.onscripter/default.ttf /sdcard/Android/data/jp.ogapee.onscripter/nscript.dat 〜〜〜〜〜 この、初回起動時のコピーが失敗しているようで、/jp.ogapee.onscripter の下に、ファ イルはできているのですが、すべて0バイトのフォルダになっていました。 手作業で、onscripter_android/assets/以下の構成ファイルを、 /sdcard/Android/data/jp.ogapee.onscripter 下にコピペしてから、ONScripter- debug.apkを実行したところ、正常に動きました。 コピーできないのはどこの段階に問題があるか、以下の二つが考えられると思われました が、 A コンパイル時に失敗していて、0バイトの構成ファイルがapkに同梱されている。 B コンパイルには成功しているが、初回起動時のファイルコピーがなぜか失敗する。 デバック版apkファイルのサイズから見て、Aは考えにくいかと思われます。そして、Bなら ば、何らかのバグである可能性があるのではと思う次第です。 わたしが作成した、デバッグ版apkファイルと構成ファイルを同梱したものを、以下に上げ ました。 http://www1.axfc.net/uploader/H/so/151925.zip DLkey=onscripter こちらご確認いただけないでしょうか。 ちなみに、前回の質問では、android_sdkのバージョンが問題だったようですが、 それ以外のもので私が使用しているバージョンは、 android-ndk-r7-windows onscripter-20111226 java_ee_sdk-6u1-jdk-windows-x64 apache-ant-1.8.2 です。 環境は、Windows7の64bitです。 よろしくお願いします。
http://onscripter.sourceforge.jp/android/android.html#customize に少し書いてありますが以下の修正が必要になります。 「なお、Android 2.2 以前では、assets フォルダにある 1MB 以上のファイルを圧縮して apk に含めると、プログラムから読み込む際に失敗してしまいます。これを回避するに は、ant の設定ファイルを以下のように書き換えて <nocompress /> を有効にし、 assets フォルダ内のファイルを圧縮しないで apk を作成します。」 今確認したところ、SDK のバージョンが上がって修正するファイルが変わっていました。 C:\src\android-sdk\tools\ant\build.xml の 811 行目(SDK r16 の場合)のコメントアウ トされている部分を <nocompress /> のように有効にしてください。 その上で、 ../android-sdk/tools/android.bat update project -p . ../apache-ant-1.8.2/bin/ant clean ../apache-ant-1.8.2/bin/ant debug としてアプリを作成してください。 また、念のためインストールの前に、Android 端末の /sdcard/Android/data/jp.ogapee.onscripter をディレクトリごと削除してください。 もしこのとおりにやってもうまくいかない場合は、再度ご連絡いただけないでしょうか。 よろしくお願い致します。 ちなみに apk は zip ファイルなので、拡張子を zip に変更して解凍すれば、アプリの assets の内容を確認することができます。
早速試してみました。 「Android用のコンパイルできません」の際のレスから、使用しているのは android-sdk-r15 ですが、C:\src\android-sdk\tools\ant\build.xml の、788,789行目が該当の箇所と思われたので、<nocompress />を有効にして、 コマンド実行したのですが、以下のようにエラーが出ます。 $ ../apache-ant-1.8.2/bin/ant clean ../apache-ant-1.8.2/bin/ant: line 265: /usr/bin/cygpath: Bad address Buildfile: C:\src\onscripter_android\build.xml clean: [delete] Deleting directory C:\src\onscripter_android\bin BUILD FAILED C:\src\android-sdk\tools\ant\build.xml:364: Unable to delete directory C:\src\onscripter_android\bin Total time: 0 seconds binを削除しようとしている時点でよくわからないのですが… /usr/bin/cygpath というフォルダやファイルは無いことは確認したので、 「Bad address」ではあるようです。 ../apache-ant-1.8.2/bin/ant debug ↑を実行しても、 ↓のようになります。 BUILD FAILED C:\src\android-sdk\tools\ant\build.xml:580: The following error occurred while executing this line: C:\src\android-sdk\tools\ant\build.xml:600: Compile failed; see the compiler error output for details. Total time: 11 seconds よろしくお願い申し上げます。
> $ ../apache-ant-1.8.2/bin/ant clean > ../apache-ant-1.8.2/bin/ant: line 265: /usr/bin/cygpath: Bad address これについてはこちらでは発生しません。ファイルも存在します。 $ ls /usr/bin/cygpath.exe /usr/bin/cygpath.exe ファイルを消して、最新の cygwin をインストールし直してから確認してみましたが、フ ァイルはインストールされていました。 もしかしたらインストールに失敗している可能性もあるので、cygwin を再インストールし ていただけないでしょうか。 > ../apache-ant-1.8.2/bin/ant debug > > BUILD FAILED > C:\src\android-sdk\tools\ant\build.xml:580: The following error occurred while > executing this line: > C:\src\android-sdk\tools\ant\build.xml:600: Compile failed; see the compiler > error output for details. 新しい SDK の場合、Linux では問題ありませんが、Windows ではこのようにエラーが出る ようです。(今回は Linux でしか確認していませんでした) http://code.google.com/p/android/issues/detail?id=23894 にも報告があります。 回避策として、 <nocompress /> を消して、代わりに <nocompress extension="dat" /> <nocompress extension="ttf" /> <nocompress extension="nsa" /> のように、同梱するファイルの拡張子を全て列挙していただけないでしょうか。こうした ところ、Windows の SDK r16 ではパッケージを作成することができ、インストールと実行 も問題ありませんでした。 よろしくお願い致します。
質問しようと思ったら同じような状況の方がいたのでその続きに質問させていただきま す。 >onscripter_android/bin/ONScripter-debug.apk をインストールしても、 >正常に動きません。具体的には、一瞬起動してボタン(「右クリック」「左>クリック」「上」「下」)が表示されるのですが、次の瞬間終了します。 >この、初回起動時のコピーが失敗しているようで、/jp.ogapee.onscripter >の下に、ファイルはできているのですが、すべて0バイトのフォルダになっ >ていました。 >手作業で、onscripter_android/assets/以下の構成ファイルを、 >/sdcard/Android/data/jp.ogapee.onscripter 下にコピペしてから、 >ONScripter-debug.apkを実行したところ、正常に動きました。 パターン2のアプリ内蔵型で5MB以下のデータで試しました。 akpファイルをzipに変えて解凍したところちゃんとデータは入っていました。 <nocompress /> を有効にしたり、最新の cygwin をインストールし直したのですが、うまくいきません。 以下が私の動作環境です。 android-ndk-r7b-windows onscripter-20120405 apache-ant-1.8.3 jdk1.7.0_03 android-sdk-r16? windows7の32bit galaxy S のバージョン2.3.6です。 よろしくお願いします。
何度もすいません。自己解決しました。 どうやらSDKを2つインストールしていたみたいで C\src\android-sdk\... と C\programfile\android\android-sdk\... の後ろの方の c:/Program Files/Android/android-sdk/tools/ant/build.xml をいじっていたみたいで c:/src/android-sdk/tools/ant/build.xml で、こちらの方のbuild.xmlを <nocompress extension="dat" /> <nocompress extension="ttf" /> <nocompress extension="nsa" /> このように変えたところapkファイルができました。 このファイルでちゃんとインストールできました。 お騒がせしました。