365連休

にわかのandroidとかの開発メモ。

リリース

【解決】RuntimeException: Unable to start activity. NullPointerException: Attempt to read from field 'android.graphics.Rect androidx.appcompat.widget.ContentFrameLayout.mDecorPadding' on a null object reference

PlayConsoleのリリース前レポートで、Activity起動時にヌルぽしてる件を解決する。

Google Paly データセーフティフォームとAdMob (メモ

Google Playではデータセーフティというものを導入した。 アプリでユーザにかかわる情報をどのように取り扱うかといったことを、事前にユーザに提示しようという試み。 アプリ開発者は、利用している各種SDKも含めて申告する必要がある。 以下は、収益化にサ…

【解決】 Android Studio Arctic Fox 特定の端末でストアからインストールした時のみ、必ずクラッシュし起動できない。

特定の端末でストアからインストールした時のみ、必ずjava.lang.VerifyErrorが発生する。

Android Studio 4.2 Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.

Generate Signed Bundle / APKでビルドする際に Get Key failed: Given final block not properly padded. Such issues can arise if a bad key is used during decryption. というエラーが出て失敗する場合がある。

【解決】Androidアプリをストアからインストールすると、Navigationのタイミングで、必ずjava.lang.RuntimeException Unknown animation name: xが発生し異常終了する。

前提条件 App Bundle使用 minifyEnabled true shrinkResources true compileSdkVersion 29 minSdkVersion 16 targetSdkVersion 29 multiDexEnabled true androidx.navigation:navigation-fragment:2.3.2 androidx.navigation:navigation-ui:2.3.2 FragmentCo…

Android Studio 4.1 難読化をやめる。ProGuard使います。

App Bundleでリリースしたものの、Navigationのタイミングで即死するトラブルが発生。 Play Consoleのクラッシュログは以下の通り。 java.lang.RuntimeException: at android.view.animation.AnimationUtils.createAnimationFromXml (AnimationUtils.java:16…

Android 暗号化アプリとアメリカ輸出規制

暗号化したろっ!⇒アメリカの輸出規制引っかかるけど、HTTPSとかみんな使ってるし既存技術ならOK?⇒EAR原文調査

【解決】java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver" on path: DexPathList[[zip file "/data/app/your.pack.name-1/base.apk"],中略/lib/arm64, /system/lib64, /vendor/lib64]]

「Androidアプリの開発中は問題無いが、Play Storeからインストールすると初回起動時のみ異常終了する件」の解決編です。 Crashes the first time the app starts. When installing from PlayStore. 前提条件 Gradle 5.1.1 Android Gradle plugin 3.4.0 minS…

【事案】Androidアプリをストアからインストールすると初回起動時のみ異常終了する(# ゚Д゚)

【解決】java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver" on path: DexPathList[[zip file "/data/app/your.pack.name-1/base.apk"],中略/lib/arm64, /system/lib64, /ve…

Android Studio 3.4 Permission & AdMob & GDPRに対応したActivityのサンプル(EU の e プライバシー指令と一般データ保護規則)

自分用のサンプルコードとして、Permissionの取得、AdMobの表示、EUユーザ向けのGDPR対応の機能を持った単一アクティビティのひな形を作りました。個別には大体理解してるけど、「じゃあ全部くっつけたらどうなるの?」という実装案。ベストプラクティスとか…

EU の e プライバシー指令と一般データ保護規則(GDPR)

GDPR関係、出来たら後でまとめたい。まとめた EUユーザの個人情報の国外移転には同意が必要。 広告ユニットを含む場合、個人情報が広告プロバイダへ流れるため同意が必要。 アプリのサービスとして、個人情報をサーバへ送信する場合も同意が必要。 Playスト…

マージされたAndroidManifest.xmlの確認方法

ビルド後のAPKに自身が宣言していないパーミッションが含まれる場合があります。 Android開発では種々のライブラリを利用しますが、ライブラリの中にAndroidManifest.xmlを含むことができます。 そのため、出来上がるManifestは全ての権限をマージしたものに…

drawableディレクトリ、mipmapディレクトリ

mipmapはAndroid4.2からサポートされたため、minSDKがそれより古いならdrawableディレクトリにも画像リソースを置いておく必要がある。と解釈。 qiita.com developer.android.com Mipmapping for drawables Using a mipmap as the source for your bitmap or…

【解決】Android 4.4以下でDrawable Resource(ic_vector.xml)を使用するレイアウトがあると、実行時にandroid.content.res.Resources$Not-Found-Exceptionが発生する

前の記事の続きです。 適当に設定を書き換えているだけでは埒が明かないので、一から歴史を勉強してきました。 そもそもVector Drawableリソースを使えるようになったのはAPI21 Android5.0 Lollipopからで、それよりも前のバージョンでDrawableリソースを扱…

【事案】Android 4.4以下でDrawable Resource(ic_vector.xml)を使用するレイアウトがあると、実行時にandroid.content.res.Resources$Not-Found-Exceptionが発生する

解決編は次の記事を見てね。 Activityのレイアウトファイル内で、SeekBarにベクター形式のドローワブルリソースを使用したら、実行環境のAndroidバージョンによってアプリの起動に失敗するケースに遭遇。 LogCat say "android.content.res.Resources$NotFoun…

Android Studio 3.4でリリースビルドからLog関数を削除する。ProGuard使います。

Log関数はリリース時に必要ないので、勝手に削除してビルドしてくれるかというと、そんなことはありません。 Logcatでログの出力を確認できます。 なので、明示的に削除する必要があります。 削除の方法については、ビルド時にProGuardというのをかませて一…

Android Studio 3.4で文字列リソースの翻訳を編集する

全世界向けにアプリを配信するなら、最低でもデフォルトの言語を英語にして、必要に応じて翻訳(日本語など)を追加します。 具体的には、values\strings.xmlの文字列リソースを英語で定義し、 values-ja\strings.xmlを追加し、文字列リソースに日本語で翻訳を…

Androidのアイコンが増えてる件。あだぷてぃぶあいこん?

新しいアイコンの仕様 Google Play ではアプリアイコンの新しいデザイン仕様を導入いたします。2019 年 6 月 24 日までに対応しなかった場合、アプリアイコンは以前のモードに切り替えられます。2019 年 5 月 1 日以降、新たにアップロードしたアイコンは新…

署名バージョンのV1(Jar署名)とV2(完全APK署名)って何?

リリースビルドして実機テストでもしよっかな~ Googleが再度署名するやつはまた今度。 とりあえず普通で 前に作ったキーストア持ってるもんね releaseでお願いします。 V1?V2?なにそれ? よくわかんないから完了で! ふぁ?日本語でおけ www.google.com …