2020年 5月 1日
実機テスト続き。
4月 29日
もう一つのスマホ、エクスペリア SO-02Kでテストしてみる。
まずアンドロイドバージョン 9はセキュリティが厳重で PCと接続してアプリを転送するのが大変だった。
その前にまずスマホのスクリーンショッとの取り方について。
いつもの方法だとスクリーンショットが取れないのでググると、エクスペリアはスマホの電源の長押しでシャットダウン等の項目の一番下にスクリーンショットの項目があって、これで取れる。
では始めるとして。
まず、設定 → 機器接続 → USB → ファイル転送。
これは必要なのかどうか分からないが念のため。
次は USBデバッグモードだが、これが隠しモードになっていてググらないと分からなかった。
設定 → システム → 端末情報 → ビルド番号を 7回押すと「これで開発者になりました!」と表示される → 一つ戻して「システム」の一番下に開発者向けオプションが表示される → 少し下の方にデバッグ項目の USBデバッグがあるので ONにする。
ややこしい。
システム
端末情報
一番下の「ビルド番号」を 7回押す
システム → 詳細設定 → 一番下の「開発者向けオプション」
USBデバッグを ONに
USBデバッグを許可するに
これでスマホ側の設定は終わり。
PCに接続すると自動で接続用のソフトウェアがスマホからPCにインストールされると思うけど、自分は昔の事なので覚えてない。
もしインストールされないようなら、設定 → 機器接続 → 接続の設定 → USB接続設定に「ソフトウェアをインストール」の ON OFFボタンがあるけど、関係あるかどうかは知らない。
さて問題はここからで、これだけだと「アプリの転送」はできない。
PCのコントロールパネルの「デバイスとプリンターの表示」を出すと、こんな風に「!」表示になってると思う。
この未確認のデバイスドライバーに、アンドロイドSDKに入ってる、android-sdk-windows\extras\google\usb_driverフォルダを指定して、中にに入ってる USBドライバーを当てるんだけど、もう説明がややこしくてめんどくさいので解説サイトに丸投げしたいと思います。
これでやっと接続を認識してくれるので転送できました。
テストしてみましたけど ND05Dと同じで、すぐに落ちます。
なんと今日はこれだけで終わりました(笑)
4月 30日
どちらのスマホでも同じ結果なので ND05Dに戻してテストする。
ビルドの時と同じ、最小単位にしたら動いたので、ここから同じようにして問題の箇所を探って行く。
順調に開放が進んだと思ったら、ここまで来て
なぜか NDKビルドエラーに
以降なぜかどうやっても NDKエラー、理由はさっぱり。
少し戻しつつテスト
strategy.hspを開放するとなるようなので、原因はこの辺か。
今度は strategy.hsp内のソースを徐々にコメントアウトして行く事によって、どこが問題なのか調べる。
どうも市場の所で NDKエラーになってるようだ。
と思ったが色々テストした結果、なんと全ソース内の #deffuncの総数が一定数以上で NDKビルドエラーになってる様子。
しかしおかしいのは制限なし全ビルドでは通っていた事、なぜなんだ?
#deffuncの数に制限があるなんて聞いた事ないぞ。
ひとつビルドエラーを見つけた。
rndf_ini、これは小数点の乱数を発生させる命令の初期で.asか dllかもしれない、使ってないのでコメントアウトにする。
う~ん、strategy.hsp以外は全部開放したし、実機でも動いたけど・・・・。
それではと、ここで一旦 strategy.hspは棚上げしてデータを読み込みでできるかどうか試してみる。
おっしゃ初起動。
それでは strategy.hsp以外の要素を全て開放して試してみる。
データの読み込みに時間がかかるな・・・・。
落ちた(笑)
でもこれ、コードエラーではなくてファイルエラーだと分かりやすいな、#37の canon.wavって事だよね。
assets内にはあるので原因が分からない、とりあえず canon.wavの読み込みをコメントアウトしてみる。
なぜかコメントアウトしてるのに読み込んで行ってしまう、なぜなんだ?
一度クリーンボタンを押してビルドしなおしたら行けたので、やっぱりビルド毎にクリーンしたほうが良い感じ。
今度は gun.wavが読み込めないが、これも assetsにはあるので、原因は別だろう。
今度は throw.wav、しかしこれらはソースの読み込み順番なので、原因は数かデータ容量の上限なのか?
仕方ないので 37番以下は全部コメントアウトにしたら動いた。
しかし今度は音楽はなってるが、なぜか画面は真っ暗。
さっきは表示してたのに(笑)
という事で、もう一つのスマホのエクスペリアで試してみる。
ちゃんと動くし、絵も表示される、音もなる。
という事は機種によるデータ容量のオーバーだろうね。
それなら、という事で37番以下のデータを戻してみると・・・。
お、なんとこちらは HSPDishの方の上限のようです。
assetsの上限なのかな?
時間切れ、今日はここまで。
mmload同時読み込みの上限が30個のようです。
BGMなどのmp3は同時に複数慣らさないので同じIDに上書きするのが良さそうです。
以下ご確認下さい。
http://hsp.tv/play/pforum.php?mode=pastwch&num=80646
mzkさん、参考になる情報をありがとうございます。
なるほど音源の読み込みは 30個までなのですね。
原因が分かれば対処は楽です。
celloadについても実機の機種によっては3枚までしか読み込めないなどの制限があるようです。
画像数が多い場合は複数の画像をタイル状にまとめてcelputで座標指定する必要がありそうです。
http://hsp.tv/play/pforum.php?mode=pastwch&num=55332
こちらもありがとうございます。
今日出す記事に書きましたけど N05Dの場合は表示はされたので
メモリ問題のようでした。ファイル総数の可能性がありますね、という事はたぶん実機次第でファイル数が違うのかな。
現在もっと闇の深い実記テスト地獄を楽しんでます。
音声ファイル、画像ファイルの解決はその後に考えます。
やっぱり実機テストもしながら製作しないといけませんね、前作のカルギナカーディアではビルドも実機テストもそんなに問題無かったので甘くみてました。
今回の問題は大規模製作によって起こる問題のようなので、HSPはやっぱり大規模製作には向かないのかもしれませんね。
貴重な情報をありがとうございました。