231: 初回起動時の構成ファイルのコピーに失敗します


最新状況

タイトル 初回起動時の構成ファイルのコピーに失敗します
状態 完了
カテゴリ その他
作成日時 2012-02-01 17:16:37
最終更新日時 2013-01-13 23:40:49

履歴

1 | 2012-02-01 17:16:37 | 提案
gekitora at gmail.com
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です。

よろしくお願いします。

2 | 2012-02-02 00:08:39 | 受付済
ogapee at aqua.dti2.ne.jp
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 の内容を確認することができます。

3 | 2012-02-02 03:32:35 | 受付済
gekitora at gmail.com
早速試してみました。
「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

よろしくお願い申し上げます。

4 | 2012-02-02 10:36:21 | 受付済
ogapee at aqua.dti2.ne.jp
> $ ../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 ではパッケージを作成することができ、インストールと実行
も問題ありませんでした。

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

5 | 2012-04-09 01:13:12 | 受付済
tk1051fortabex at gmail.com
質問しようと思ったら同じような状況の方がいたのでその続きに質問させていただきま
す。

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

よろしくお願いします。

6 | 2012-04-09 01:56:33 | 受付済
tk1051fortabex at gmail.com
何度もすいません。自己解決しました。

どうやら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ファイルができました。
このファイルでちゃんとインストールできました。
お騒がせしました。

7 | 2013-01-13 23:40:49 | 完了
ogapee at aqua.dti2.ne.jp
最後のやり取りから半年以上経過しているため、本報告は完了とさせていただきます。

リプライをつける

送信者*
送信者のメールアドレスを入力してください。
タイトル*
この報告の概要を簡潔・明瞭に書いてください。
「動きません」「わかりません」「質問です」などの題名は不適切です。
カテゴリ バグ 追加機能 ドキュメント その他
内容*
簡潔・明瞭にどうぞ。余分な引用や挨拶はいりません。
添付ファイル (1500Kバイトまで)
ファイル名とファイルの種類を指定してください。日本語のファイル名はやめておいた方が無難です。
オプション リプライをメールで受け取る。
チェックを外してください。
Cookieを使って {送信者} の保存を行う。
*がついた項目は必須項目です。

Bug Tracking System 影舞 0.8.8
Powered by Ruby 1.8.7