「この App Bundle に含まれている Java / Kotlin コードは難読化されている可能性があります。クラッシュや ANR を簡単に分析、デバッグできるよう、難読化解除ファイルをアップロードすることをおすすめします。」という警告が出ました。難読化なるものはやった記憶はなかったが、Bundleのサイズを小さくするためにbuild.gradle(appの方)のReleaseにminifyEnabledをtrueにすることでできるらしいが、それを今度はデバック時に読みやすくするためのmapping.txtというのも必要らしい。shrinkResourcesを追加してtrueを設定する[4]。確かに作られるようになった。これをアップロードする[5]。 |
アプリアップデートしてアップロードし直さないといけないけど、元のgnssfinderをアップデートしようとして署名済みAPKアップしても鍵が違うって言われたり、 |
新しいgnssfinderを作ろうとしたら、同じパッケージのアプリはダメですって言われたり。どうすればいいのか。 |
じゃあ、元のアプリを削除してから、登録すれば良いのかとやってみると、非公開にはなるが、完全削除はできないようだ[2]。 |
packageを変更してみた。androidmanifest.xmlというより、build.gradleというファイルを変更すること。 |
targetのバージョンを26、つまりandroid8.0にしないといけないらしい。そうするとorg.apache.http.impl.client.DefaultHttpClient関連のパッケージがいつの間にか使えなくなっている[1]。とにかくconnectしてレスポンスとして xmlを読むためだったので、早速java.net.HttpURLConnectionで置き換える。 |
実際にアプリをインストールして使ってみるとNullPointerがいくつか出て全然動かない。。調べてみるとandroid 6.0からRuntime Permissionという考え方ができて、ユーザがアプリケーション毎にGPSなどへのアクセスを制限できるようになった[3]。そこの処理が上手くできないと起こるらしい。GNSSFinderでは、カメラと写真を保存するためのストレージとGPSがそれに当たるということで、対応。 |