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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
0722
しまくろねこAndroidアプリの64ビット化について20解決


しまくろねこ

リンク

2019/7/22(Mon) 20:30:24|NO.87913

5月にGooglePlayから64ビット版についてのアナウンスがありましたが、私は未だに64ビット版を用意できていません。
他の方は、既存のアプリの64ビット版化されましたでしょうか?

また、jni/Application.mk内を
APP_ABI := armeabi-v7a arm64-v8a

にしてビルドするとDPMファイルが無視されてしまいます、DPMファイルの代わりに assets フォルダにファイルを全て置くことで解決できますが、やはりDPMファイルを利用できると嬉しいです。 皆さんはいかがでしょうか? 公式から何かしらアナウンスがあると大変嬉しいです。



この記事に返信する


おにたま(管理人)

リンク

2019/7/22(Mon) 23:23:19|NO.87915

いつもHSP3Dishの検証ありがとうございます。
現在、新しいHSP3.6β版の公開に向けて準備をしています。
Android版のHSP3Dishは64bit対応版にアップデートしています。
(Application.mkの修正だけでは不十分なため、Dish Helperも更新しています。)
もし宜しければ、現時点でのパッケージ内容を検証して頂けると助かります。
事前の検証用パッケージのアーカイブはこちらからダウンロード頂けます。
http://www.onionsoft.net/hsp/file/hsp36b1_190722.zip

パッケージの更新は、androidフォルダだけでなくhspのシステムフォルダ全体を
更新する必要があるため、別途「c:\hsp36beta」などのフォルダを作成して動作させることを推奨します。

最新版は、OneDriveの最新版フォルダから参照頂くことも可能です。
https://onedrive.live.com/embed?cid=EC425522ED849DA7&resid=EC425522ED849DA7%211229&authkey=AB-pNztAqBp6BcU

Android版のマニュアルはこちらです
http://www.onionsoft.net/hsp/v36/doclib/hsp3dish_ndk.htm

掲示板をご覧の方で、HSP3Dish(HGIMG4も含めて)をお使いの方は、既存のスクリプトや
環境での動作テストにご協力頂けたら嬉しいです。

β版は、新規の機能や修正を検証するためのテストバージョンです。
思わぬ不具合の可能性もあることをご了承下さい。不具合が起こる場合や、
動作が安定しない時は、以前のバージョンに戻して使用することを推奨します。



しまくろねこ

リンク

2019/7/23(Tue) 07:31:46|NO.87916

ご返信ありがとうございます。
急かすようで申し訳ありません。
時間のある時に試してみようと思います。



しまくろねこ

リンク

2019/7/23(Tue) 23:29:05|NO.87920

[ ]AdMobを使用する
[ ]ARM64をビルドしない
[ ]x86をビルドしない
[ ]HGIMG4を使用する
[ ]センサーを使用する

上記の設定で新たにプロジェクト(ID:android-24)を作成し、以下のスクリプトで "cg.png" が表示されるか試してみました。
1つ目の方法は、プロジェクトフォルダ内の assets フォルダに "cg.png" を入れてビルド。結果は表示されました。
2つ名の方法は、DPMファイルに "cg.png" 含ませてビルド。結果は 「cg.pngがありません 」と表示されてしまいました。
DPMファイルの部分が駄目なようです。

//−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
#include "hsp3dish.as" exist "cg.png" if strsize == -1 { dialog "cg.pngがありません" } celload "cg.png", 1 *main redraw 0 color 0, 0, 255 : boxf pos 0, 0 : celput 1, 0 pos 0, 0 : color 255, 0, 0 : mes "あ" redraw 1 await 16 goto *main //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−


テストに使用したAndroid端末は、UMIDIGI A3 Pro という機種です。
上記スクリプトのAPKをインストールすると下記のようなメッセージが表示されてしまいます。何か関係あるのでしょうか?


「このアプリは以前のバージョンのAndroid用に作成されており、正常に動作しない可能性があります。アップデートを確認するか、デベロッパーにお問い合わせください。」



おにたま(管理人)

リンク

2019/7/24(Wed) 00:24:10|NO.87922

検証ありがとうございます。
あれれ…こちらでも確認してみたいと思います。



しまくろねこ

リンク

2019/7/24(Wed) 07:52:36|NO.87923

補足です。

SDKマネージャーで追加インストールしたのは、
Android SDK Build-tools 29.0.1
Android 7.0(API24)の [v]SDK PLatformだけです。

https://sites.google.com/site/simakuroneko/home/all_up_files/20190724.png?attredirects=0



おにたま(管理人)

リンク

2019/7/24(Wed) 22:45:22|NO.87927

android9の端末で確認したところ、こちらでも同様の症状になりました。
通常、dpmファイルが格納されるはずの、/data/data/アプリID/lib フォルダがありませんね…。
OSの仕様変更によるものと思われますが、解決に少し時間がかかるかもしれないので、当面Assetsフォルダにすべてのデータを入れてご使用頂ければと思います。
お手数おかけして申し訳ありません。



しまくろねこ

リンク

2019/7/25(Thu) 07:17:40|NO.87932

わかりました。
返信ありがとうございました。



しまくろねこ

リンク

2019/7/25(Thu) 22:44:34|NO.87940

事後報告になりますが、一応書いておきます。

minSdkVersion = 18
Project target = android-24
targetSdkVersion = 26

Google Play Console で上記でリリースしようとすると、2019/08/01からAPIが28が必須になりますと警告文が表示されたので、下記のようにその通りにして再度リリースしました。

minSdkVersion = 18
Project target = android-28
targetSdkVersion = 28

するとどうでしょう。警告文は表示されなくなりましたが、アプリ内で使用しているネット通信部分でアプリが落ちるようになってしまいました。
AndroidManifest.xml のユーザーパーミッションもちゃんとあるので問題ないと思うのですが・・・。
がっくりです。



しまくろねこ

リンク

2019/7/26(Fri) 20:53:56|NO.87946

何かの役に立つかは分かりませんが、警告文のスクリーンショットを貼っておきます。

https://sites.google.com/site/simakuroneko/home/all_up_files/%E8%AD%A6%E5%91%8A_1_20190726.png?attredirects=0
https://sites.google.com/site/simakuroneko/home/all_up_files/%E8%AD%A6%E5%91%8A_2_20190726.png?attredirects=0


ちなみに、
targetSdkVersion = 26 だとネット通信部分のプログラムは正常動作しますが、
targetSdkVersion = 28 だとネット通信部分でプログラムが落ちます。



おにたま(管理人)

リンク

2019/7/29(Mon) 14:03:32|NO.87964

追加の報告ありがとうございます。
android9で通信ができないのは、HSP3Dishのネットワーク通信で、ApacheHTTPクライアント(org.apache.http.legacy.jar)を使用しているためだと思われます。
まだ検証していないのですが、API28動作の変更点
https://developer.android.com/about/versions/pie/android-9.0-changes-28?hl=ja
によると以下の記述をAndroidManifest.xml に追加することで、使用できるとあります。

<uses-library android:name="org.apache.http.legacy" android:required="false"/>



しまくろねこ

リンク

2019/7/30(Tue) 22:13:52|NO.87975

AndroidManifest.xmlに追加してみましたが、通信部分で落ちてしまいます。
<uses-library android:name="org.apache.http.legacy" android:required="false"/>

の追加場所が間違っているのでしょうか?
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
このように追加しました。



しまくろねこ

リンク

2019/8/8(Thu) 20:56:30|NO.88020

下記URLのページを参考にしながら
https://qiita.com/takke/items/030af1054219e73531f6

<application>タグの中に

<uses-library android:name="org.apache.http.legacy" android:required="false"/>

を入れて、

targetSdkVersion="26" と targetSdkVersion="28" で試してみましたが、

targetSdkVersion="26" ・・・ 正常に通信可能
targetSdkVersion="28" ・・・ 落ちはしないこそ通信できず

という結果になりました。



リンク

2019/8/11(Sun) 11:57:33|NO.88032

Androidのようなできの悪い糞OSではね
なんでごちゃごちゃしたものを人に渡すかね
ごちゃごちゃした複雑な産物など誰も使いたいと思わんだろ?



おにたま(管理人)

リンク

2019/9/1(Sun) 23:31:50|NO.88292

>しまくろねこ さん

返信が遅くなり申し訳ありません。
こちらでandroid9端末で試した範囲では、単純な通信はできているのですが、
どのような通信ができないか詳細をお聞きしてもいいですか?
以下は、SDKVersionを29(android10)にして、minSDKversionをAPI18にしたビルドしたものですが
こちらは動作しますでしょうか?
http://www.onionsoft.net/android/httptest.apk

このapkは、http_test2.hspサンプルで「http://www.onionsoft.net/hsp/v36/readme.txt」を読み込むだけのものです。
ビルドに使用した最新版は、OneDriveの最新版フォルダから参照頂くことが可能です。
https://onedrive.live.com/embed?cid=EC425522ED849DA7&resid=EC425522ED849DA7%211229&authkey=AB-pNztAqBp6BcU

お手数をおかけしますが、確認頂けると嬉しいです。



しまくろねこ

リンク

2019/9/2(Mon) 07:59:53|NO.88293

おはようございます。

> 以下は、SDKVersionを29(android10)にして、minSDKversionをAPI18にしたビルドしたものですが
> こちらは動作しますでしょうか?
> http://www.onionsoft.net/android/httptest.apk

はい。文字が文字化け表示になっておりますが、Android9実機で動作できています。。


> SDKVersionを29(android10)にして...
このAPKを構成している AndroidManifest.xml を見せていただきたいのですが可能でしょうか?
"SDKVersion" というのが AndroidManifest.xml のどの場所にあるものなのか不明なのです。

また、 AndroidManifest.xml 内の "targetSdkVersion" は不必要でしょうか?



おにたま(管理人)

リンク

2019/9/2(Mon) 11:50:01|NO.88295

>しまくろねこ さん

検証ありがとうございます。文字化けしていて問題ありません。
プロジェクト全体のファイルがこちらにありますので、参考にしてみてください。
http://dev.onionsoft.net/junk/httptest3.zip
"SDKVersion"は、AndroidManifest.xml の中では指定していません。(project.propertiesのみで指定しています。)
これで動作するようならば、HSP3.6β1としてリリースの中に入れたいと思います。



おにたま(管理人)

リンク

2019/9/2(Mon) 13:21:44|NO.88299

あ、すみません再度こちらでも確認したところ、AndroidManifest.xml内のandroid:targetSdkVersionが指定されない場合は、
minSdkVersionの値が実行時に参照されるみたいですね…。
targetSdkVersionを28に指定してhttpsでの通信ができることは確認しましたが、httpだとエラーになりますね。
もう少し調査してみたいと思います。



しまくろねこ

リンク

2019/9/2(Mon) 20:56:29|NO.88308

"SDKVersion" は、プロジェクトを作る際の「ID」の箇所なのですね。

> http://dev.onionsoft.net/junk/httptest3.zip
bin フォルダの中が空っぽでした。

>おにたま(管理人)さま
もしできましたらZIPでアップしていただけると大変ありがたいです。
というのも、なぜかOneDriveからダウンロードできないからです。

ご調査がんばってください。



おにたま(管理人)

リンク

2019/9/2(Mon) 21:20:05|NO.88309

>しまくろねこ さん

プロジェクトを修正してみました。こちらでどうでしょうか?
http://www.onionsoft.net/android/httptest3a.apk

http通信を行うために、別途「res/xml/network_security_config.xml」を追加しています。
こちらに通信先のドメイン名を入れることで、そこだけはhttpでアクセスできるようになるようです。
プロジェクト全体のファイルはこちらです。
AndroidManifest.xmlは、binフォルダではなくプロジェクトフォルダの直下に入っています。
http://dev.onionsoft.net/junk/httptest3.zip

できるだけ、https通信を行うようにして、どうしてもhttpのみサポートしているサイトのみ
ドメインを指定するのが今のところ取れる手段かと思います。
こちらの内容も含めて、次のβ版にドキュメントとして追加したいと思います。

>もしできましたらZIPでアップしていただけると大変ありがたいです。
現時点での最新版は、こちらになります。
http://www.onionsoft.net/hsp/file/hsp36b1_190902.zip



しまくろねこ

リンク

2019/9/2(Mon) 22:58:58|NO.88312

> プロジェクトを修正してみました。こちらでどうでしょうか?
> http://www.onionsoft.net/android/httptest3a.apk

文字化けしていますが、通信できています。

> targetSdkVersionを28に指定してhttpsでの通信ができることは確認しましたが、httpだとエラーになりますね。
> もう少し調査してみたいと思います。

お願い致します。



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