2020年 4月 29日
実機テストを始める、今回もレポート形式でお送りします。
実機はアンドロイドの N05D、エクスペリア SO-02Kがある。
N05Dはアンドロイドバージョン 4.0.4くらいで古く、もうバッテリーが劣化してる。
SO-02Kは 9です。
それではやってみましょう。
4月 29日 途中経過のまとめ。
1、12エラーに関しては #deffuncの呼び出しがソースより前にあったためと思われる。
2、どうもファイルの読み込みはおろかソースの実行前に別の理由で落ちてる感じがする、理由は今の所不明。
4月 24日
まず古い方の N05Dに接続する。
しかし PCが認識しない、と思ったら接続ケーブルが充電専用のものだった、前に PC接続用のもあらかじめ買ってあったので思い出して接続しなおす。
HSP Dish helperのビルドボタンを押すと転送できる。
この時はなぜか転送できなかったため、コマンドコンソールによる転送を試みる。
やり方を忘れていたため前の記事が役に立つ。
Failure だから失敗だと思うけど、rm failed for -fと出てる、ネットで調べてもマイナーなのか原因は分からない。
その後まるで検討違いの場所をいじっていたらいつのまにか転送できた、原因は単に実機と PCの接続ミスだろうか。
あるいはデータパックを設定しなおしたから通ったのか、さっぱり分からない。
スマホのスクリーンショットを取る方法の記事はこちら。
転送はできたのでスマホで起動してみるが、すぐに落ちる。
Logcatボタンを押すと、何が問題なのかモニターできる。
始めはこんな感じで、これが何のエラーなのかネットにも情報が無いのでさっぱり分からない。
これは詰んだか、と思って一日寝たら次の日には出なくなった、やっぱり接続関係だろうか。
という事は案外、再起動、再接続が有効なのかもしれない、まあよく分からない。
4月 25日
次の日はこんな感じだが、これなら既存のエラーなのでなんとかなりそう。
HGIOScreen(720,1280)というのと
#Error 12 Filr I/Oerrorというのらしい。
とりあえず HSPファルダ内に hsp3dish.iniファイルを入れる。
iniファイルの中身は次の通り。
; hsp3dish settings
wx=640
wy=360
autoscale=0
その事について書いてある記事。
この解像度の指定は HSPのバージョンによって違う様なので注意。
ビルドしなおして、転送しなおして、再実行してみる。
Scale(画面表示)が (2.0,2.0) 2倍になったという事だから反映されてるようなので、これはこれで置いておくとして。
エラー 12はなんだろうとネットで検索してみるが要領を得ない。
基本的にエラー12は「ファイルが見つからないか無効な名前です」なので .wavや .png等のデータファイルをチェックするしかない。
とりあえずデータを読み込むプログラムを無効にしてテストしてみようかと思ったら、これ。
なるほど、これじゃあ読み込みパスが違うな。
という事で修正して。
もう一度ビルドして転送しなおす。
スマホで実行すると、結果は同じだが落ちるまで少し時間がかかったので、途中まで読み込んでるようだ。時間は関係ないようです。
別の場所にも間違いがあるのだろう。
改めて effectと soundの読み込みを無効にしてビルドしてみる。
変わらず。
それでは syoki.hspの初期データ読み込みをコメントアウトにして無効にしてみる。
やっぱり同じ。
アプローチの仕方を変えてみて、dataファイル内に変なデータが無いか見てみる。
12文字以上だな
PNGになってるな
データファイルを作成しなおして、ビルドして転送。
変わらず、エラー 12。
おっといかんいかん、これじゃあパスが違う。
書き直して、と。
ビルドして転送して実行。
ダメか・・・・。
またまた詰んだ気がするので、一日寝ると良くなってる魔法に期待して、続きはまた明日。
4月 26日
もう一度ソースを見ながらフォルダ内のデータに間違いがないか確認する。
effect.hspから。
あった、最後の方の bom_1.pngが無い。
早速 bom_1.pngを足して、と。
データパックを作成しなおして、ビルドして、転送して、実行、と。
まだ何かあるのか。
今度は sound.hspで見つけた、panchi10.wavが入ってない。
panchi10.wavを足して、もう一度テスト。
まだある。
さらに lpot.wavが無いのを見つけた。
sound.hspはこれで全部だがまだ動かない。
最後は syoki.hspのデータ読み込み群だ。
見つけた、なんと
i.pngじゃなくて
archi.pngだったのだが、これは +fi2を書き足した時に間違って消してしまったものらしい。
HSPの実行でもエラーだった。
しかしこれは逆にビルドは通るんだな。
めんどくさいので、そろそろ動いて欲しいな。
まだダメでした。
fg32.pngの代わりに fg32r.pngが入っていた。
これで全部見たけど、これで動かなかったら原因の特定が難しくなる。
データパック、ビルド、転送、実行、と。
動きませんでした・・・・。
4月 28日
こうなったら前回と同じで最小単位から徐々に動く所を探して、どこが問題なのか探る。
まずデータの読み込み関係を全てコメントアウトして試してみる。
12エラー、という事は一般のデータの事ではない?
思い切って最小単位にしてみる。
これは流石に 12エラーはでない。
それでは .asファイルの事だろうか?
違った。
syoki.hspのファイルだけ開放してみる。
これは問題ない。
ザッと開放してみる。
ここで put.hspから、それより後ろの battle.hspに #deffuncの呼び出しがあったので、クッションを置いて対処する。
でもこれ、なぜかビルドでは引っかからない。
後からだけど結局の所 12エラーに関してはこれが問題だったみたい。
ここまでも 12エラーはでない。
残りを開放してみる。
あれ? 12エラーでないぞ。
今度は初期のコメントアウトを開放していく。
ここまでも問題ない。
次は上から *sound_syoki、*effect_syoki、*map_syokiを開放する。
一番データ読み込みが多いこの場所も問題無し。
*put_syoki、*battle_syokiを開放してみる。
ビルド中に何かのエラーが出るが、ビルドは通る。
実行で 12エラーは出ない。
最後の *save_syokiを開放。
なぜか転送できないトラブルが発生、もう一度ビルドしなおして転送。
転送できない、なぜ?
PCの挙動が怪しくなったので PC、スマホとも一度再起動しなおす。
転送しなおして実行すると 12エラーはでない。
残りを開放してみる。
12エラーはでないが、どうもアプリ起動中に落ちてるような・・・。
syoki.hspのデータ読み込みを開放してみる。
12エラーは出ない、しかしこれだと実行は別の理由で落ちてるはず。
effect.hspの読み込みを開放、12エラーはでない。
sound.hspの読み込みを開放、12エラーは出ませんでした。
という事で 12エラーの原因は、読み出し後に #deffuncがあるからだったようです。
これでむしろエラーもでず原因が分からないので、困ってしまう。
HELLO WORLDしてみる。
これでも落ちるので、原因は全く別の事のようだ。
試しにハローワールドだけを別に作ってテストしてみる。
これは問題ない。
.asファイルを足してみる。
これも問題ない。
ここで一度別のアンドロイドの機種であるエクスペリアの方で試してみる。
長くなったので次回に続く。