HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
0617
mktビルドしたdebug.apkが起動しない13解決


mkt

リンク

2023/6/17(Sat) 14:09:28|NO.99582

お世話になっております。
HSP3.7 5b
Dish helper 1.94 にて、環境をマニュアルにそって構築し、既存のhspデータをビルドしました。
できたdebug.apkを本体にインストールしたところ画面が真っ暗で、すぐ落ちる、またはフリーズします。
ビルド時点で問題があるのか、apkに問題があるのか、プログラム自体に問題があるのかわかりません。
以前のdish helper 1.7xで作成したapkは同一機種で起動しました。
java -17.05
Gradle 7.3
ライブラリ hsplib36r1

こちらのコードでもダメです。
'
#include "hsp3dish.as"


color 0,0,0
redraw 0
boxf

color 255,255,255

pos 100,100
mes "test"

redraw 1
stop

'
表示されるログメッセージは以下の通りです。
PDFに飛びます。
https://drive.google.com/file/d/1qxTpSYR7TwFAB03aS74vtLC8KjE_Fbx6/view?usp=sharing

最小api 21
ターゲット 31
PORTRAIT

お分かりになる方、お助けください。



この記事に返信する


しまくろねこ(本物)

リンク

2023/6/17(Sat) 17:40:44|NO.99587

こんにちは。

掲示されたコードでも大丈夫でしたよ。
出来上がったapkの場所がまちがっているのでは?

ビルドして出来上がったデバックAPKの場所は

プロジェクトフォルダ名/プロジェクト名/app/build/outputs/apk/debug

で、ファイル名は

app-debug.apk

になります。



しまくろねこ(本物)

リンク

2023/6/17(Sat) 19:35:01|NO.99588

プロジェクトを新たに作り直しても駄目ですかね?



mkt

リンク

2023/6/17(Sat) 21:16:52|NO.99589

>しまくろねこ(本物)さん
さっそく返信ありがとうございます。
やはりだめでした。Javaのバージョンのせいでしょうか…
現在17です。何度か試すうちに落ちなくなりましたが、画面は黒のままです。
現在Assetも空になっており、ガンになりそうなデータもない状態です。
もう少しいろいろ試してみます…



nennneko5787

リンク

2023/6/17(Sat) 21:25:48|NO.99590

もしかしてHSP3.6の環境(SDK、プロジェクトフォルダ)のままやってませんか?
3.7用にやる必要があります
https://www.onionsoft.net/hsp/v37/doclib/hsp3dish_ndk.htm



mkt

リンク

2023/6/17(Sat) 22:36:33|NO.99592

>nennneko5787
ありがとうございます。返信感謝です。
3.7用に作っています。
PCも3.6当時とは変わっており当時の環境は残っていません。

何回かトライした結果、先述のプログラムは起動しました。
しかし、3.6で正常にビルドできていたデータを最新エディタで更新したところ
3.7ではビルドはできても動きませんでした。
新しいエディタで1から作っていないのがいけないでしょうか…

すみません、基本的なところを見逃してしまっていたら申し訳ないです



mkt

リンク

2023/6/17(Sat) 23:01:05|NO.99593

>nennneko5787さん
先ほどは敬称を入れそびれました。すみません。
いろいろ試した結果、ビルドの問題は解決しました。
しかし、3.6で動いたものが3.7で動かないという事象に遭遇しています。
ちなみに、旧エディタで作成したソースを新エディタにコピぺしてもだめでした。
現在予想している原因は
・バッファの数を使いすぎ?
・画像サイズが大きい?
・バージョンアップの中で使えなくなった命令があるのを見落としている?
 ↑あるのでしょうか。

などです。引き続き試しますが、明日一日ダメでしたらスレタイが微妙なので一回解決済みにいたします。



mkt

リンク

2023/6/18(Sun) 02:18:00|NO.99596

落ちる原因がわかりました。

sys_sav="" notesel sys_sav exist "sys_savtxt.txt" if strsize=-1 { n=0 n2="0" repeat 30 noteadd n2,n,1 n+=1 loop notesave "sys_savtxt.txt" } noteload "sys_savtxt.txt"

というコードを使っていたところ、notesaveが機能しておらず
noteloadで、データが見つからなかったため落ちていました。
空白のデータを入れたところ起動しました。
代わりに、今までデータのセーブ使っていたnotesaveが使えず
データの書き換えが行われない状況です。
notesaveは、どこかのタイミングで使えない仕様になりましたでしょうか。
それとも不具合でしょうか。

現象を見つけてもらうべく、予定通り明日の夕方ごろまでは解決済みにせずにおこうと思います。



窓月らら

リンク

2023/6/18(Sun) 02:26:33|NO.99597

それはDishの不具合だと思いますが、bsaveで代用できると思います。



mkt

リンク

2023/6/18(Sun) 03:20:45|NO.99598

>窓月ららさん
ありがとうございます。
検証してみたところ、bsaveも書き込み不可です。命令を使用してもエラーにはなりませんが
そのままスルーされてしまい、保存されません。Asset内のデータを上書きできないようです。
以前はそれができたので、ストレージのセーブデータになっていました。



しまくろねこ(本物)

リンク

2023/6/18(Sun) 04:22:04|NO.99599

昼間ずっと寝ていたせいでこんな時間に起きてしまいました。

NO.99596のコードを3.7β5でテストしてみましたが、Android上でもnotesaveは落ちることなく正常に動いていますね。

あらかじめ、Assetsフォルダに空の"sys_savtxt.txt"を入れて置き、下記コードでビルドし、Android上で何度か実行すると保存されていないのが確認できます。
これはnotesaveの不具合ではなく、Asssetsフォルダの取り扱いが変わったか、不具合だと思います。
一番早い解決策は、Assetsフォルダにセーブデータを含めないのが最善だと思います。
報告する場合、おにたまさんのメールはこちらです。
onitama@onionsoft.net

#include "hsp3dish.as" #define FILE_NAME "sys_savtxt.txt" randomize setcls CLSMODE_SOLID, $000000 redraw 0 sys_sav = "" notesel sys_sav exist FILE_NAME if strsize >= 0 { noteload FILE_NAME } n1 = 0 n2 = str(rnd(10)) repeat 2 noteadd n2, n1, 0 loop notesave FILE_NAME color 255, 255, 255 pos 0, 0 mes sys_sav redraw 1 stop



mkt

リンク

2023/6/18(Sun) 09:31:14|NO.99600

>しまくろねこ(本物)様

ありがとうございます。
なるほど、保存場所ですね。
階層を下に下げると結局同じことになってしまうのですが、公式の(androidstudioの)ガイドですと記述の方法が違うのと、ディレクトリ情報が取得できないです。
できれば内部ストレージに保存したいですが(SDでもいいけども)良い方法がありますでしょうか。
過去の書き込みでSDに保存を試みているものを見つけましたが、機種によって安定感がなさそうです。

http://hsp.tv/play/pforum.php?mode=pastwch&num=81951



しまくろねこ(本物)

リンク

2023/6/18(Sun) 12:33:24|NO.99601

>なるほど、保存場所ですね。

あ、いえ、そうではなくてですね。

Dishでbsaveやnotesaveでファイル保存する場所については、ファイラーで見ることはできませんが、「/data/data/<自分のパッケージ名>/files」に保存されるようです。

ここからは推測なので間違っていたらごめんなさい。
あらかじめAssetsにセーブデータを置いておくと、notesaveで「/data/data/<自分のパッケージ名>/files」に保存こそはできているが、noteloadでファイル読み込み時に「/data/data/<自分のパッケージ名>/files」ではなくAssetsフォルダ内のファイルを読みに行ってしまうため保存ができていないように見えてしまっていると思われます。

試しに[NO.99599]のコードをAssetsフォルダを空にした状態で何度か起動すると、表示される数が正常に2つずつ増えていきます。
「/data/data/<自分のパッケージ名>/files」に保存したものを、「/data/data/<自分のパッケージ名>/files」から読み込んでいるためです。

もし仮に不具合だとしたら直してもらうのが一番ですが、現状だとセーブデータをAssetsにいれるのは避けたほうがいいと思います。
どうしてもセーブデータをAssetsから読み込む必要がある場合は、セーブするファイル名とAssetsフォルダに入っているファイル名を異なるファイル名にする必要があると思います。


以下はURLは私が昔に質問したDishでの保存場所についてです。

HSP3Dishでのbsave/notesaveについて
http://hsp.tv/play/pforum.php?mode=pastwch&num=52448



mkt

リンク

2023/6/18(Sun) 18:44:56|NO.99603

>しまくろねこ(本物)さま
そして皆様

ありがとうございました。
とりあえず、スレッドタイトルに対しての問題は解決しましたので、解決済みにします。

今回のasset以外にセーブについてはあの後も挑戦したもののうまくいきません。
しまくろねこさまの推測をもとに、書き込みを今まで通り、読み込みを「/data/data/<自分のパッケージ名>/files/ファイル名」で試したのですが、いまのところ進展はありません。
取り急ぎおにたまさまには問題の報告をしようと思います。
またなにかわかったら報告したいと思います。
今後もどうぞよろしくお願いいたします。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.99582への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2023(c) All rights reserved.