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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0805
dishむずかしいHSP dish作成のアプリの同一性?について3解決


dishむずかしい

リンク

2017/8/5(Sat) 23:56:39|NO.80847

HSP dishにてandroid向けアプリをビルドして、実機にインストールした後、
バグや更新などでソース変えて再度ビルドして、実機にインストールする場合、
上書きインストールされ、notesave命令などでセーブされたデータも引き続き使用することができると思います。

しかし、APIレベルを更新したい場合(たとえばID17 Android 4.2.2 から ID21 Android 5.0.1)
新規プロジェクトで同じ名前のプロジェクトを作成して、ビルドを行ったとしても、
以前のAPIレベルで作成したアプリと同一と見なしてもらえず、
セーブデータなどの引継ぎができない状態となってしまいます。


これはAPIレベルが異なるアプリは同一とされないものなのか、
それともパッケージ名(hsp日付8ケタ.プロジェクト名)が異なるためなのか、
どのように解決したらよいでしょうか?

パッケージ名については
jni/hsp3embed/hsp3r.cppの75行目
dpm_ini( "/data/data/hsp日付8ケタ.プロジェクト名/lib/libhsp3dish.so",0,-1,-1 );
src/hsp日付8ケタ/プロジェクト名/プロジェクト名.javaの1行目
package hsp日付8ケタ.プロジェクト名;
などの記述を変更してみたのですが、ビルドできなかったり、何も変わらなかったりで
うまく変更できませんでした。


詳しい方、回答をよろしくお願いします。



*使用環境
HSP 3.4
jdk1.8.0_51
ndk-r8e
ant-1.9.4



この記事に返信する


MillkeySoftw

リンク

2017/8/6(Sun) 12:01:00|NO.80855

プロジェクトは同じ名前で作るよね? アップグレードなのだから。

>>jni/hsp3embed/hsp3r.cppの75行目
>>dpm_ini( "/data/data/hsp日付8ケタ.プロジェクト名/lib/libhsp3dish.so",0,-1,-1 );
>>src/hsp日付8ケタ/プロジェクト名/プロジェクト名.javaの1行目
なんでこんなところ弄っているの?

以前のプロジェクトを別名で保存し、API レベルを変更して再度同じプロジェクト名で新規作成すればいいんじゃないのかな。
プロジェクト名とパッケージ名は以前と全く同じで作らないと、同一と見なされないからその際にだけ、先ほどの jni/hsp3embed/hsp3r/cpp の記載を見ればいいだけ。
(パッケージ名は、以前のプロジェクトの AndroidManifest.xml の package="hsp20170806.?????" のダブルクォーテーションで囲っている部分をまるっこコピペでもいいかもね)

そもそも、バージョン識別は、AndroidManifest.xml の android:versionCode="2" という記載。
ここの数字を変更すれば、表示上のバージョンは切り替わると思うけど。

尚、HSPDishHelper で転送した場合、上書きインストールモードなので、アプリのデータは維持されます。



エイカ

リンク

2017/8/6(Sun) 20:59:45|NO.80859

横から失礼します

私も詳しくはないのですが
HSP3dishの各種データーの引き継ぎは
「プロジェクト名」は関係がなく
「パッケージ名」のみで引き継ぎの判断をする
で良かったような気がするのですが、どうなんでしょうか?

確か「パッケージ名」が同一で「プロジェクト名」が違うapkをインストールした際に
各種データの引き継ぎができて
前のアプリは上書きで消えたので。

間違っていたらすみません。



dishむずかしい

リンク

2017/8/8(Tue) 23:25:40|NO.80873

MillkeySoftw様
エイカ様

ご返事ありがとうございます。
新規プロジェクトを作成する際に
プロジェクト名とともにパッケージ名も指定できたのですね。
いままでは、空白にしていたので気が付きませんでした。

以前のプロジェクトの「AndroidManifest.xml→3行目 package="〜〜〜"」を確認
新規プロジェクトの作成で、パッケージ名に package="〜〜〜" の〜〜〜部分を入力
以前のプロジェクトから全部引っ越して、ビルド

の手順で上書きインストールできました。
ありがとうございます。

また、AndroidManifest.xmlの
android:versionCode="1" 半角数字のみ
android:versionName="1.0"> 全角もOK
を変えることでインストール時のversion情報を変更することができました。



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