Gson が R8 で落ちる

Gson が R8 で落ちる
Android Studio, Gradle, SDK のアップデートで避けては通れない。

いろいろ悩む前に、通信周りは R8 の変化を気にしおくといい、


# Prevent R8 from leaving Data object members always null
-keepclassmembers,allowobfuscation class * {
  @com.google.gson.annotations.SerializedName <fields>;
}

# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken

👉 gson/examples/android-proguard-example/proguard.cfg at main · google/gson hatena-bookmark

ここらは、Gson 以外の JSON パーサーにも似たようなことが言える。

Retrofit を使ってる方は、必須の注意事項。

どんなライブラリよりも先に疑った方がいい。



2023年8月31日以降 アプリは Android 13(API レベル 33)以降を対象にする必要があります。

2023 年 8 月 31 日以降:

- 新規のアプリは Android 13(API レベル 33)以降を対象にする必要があります。ただし、Wear OS アプリは、Android 11(API レベル 30)から Android 13(API レベル 33)までのバージョンを対象にする必要があります。

- アプリのアップデートは Android 13 以降を対象とし、Android 13 での動作変更に合わせて調整する必要があります。ただし、Wear OS アプリは Android 11 を対象にする必要があります。

👉 Google Play の対象 API レベルの要件を満たす  |  Android Developers hatena-bookmark

2023 年 8 月 31 日以降:

- 新しいアプリは Android 13(API レベル 33)以降(Wear OS アプリの場合は Android 11(API レベル 30)または Android 13(API レベル 33)まで)を対象とする必要があります。

- 既存のアプリについては、アプリの対象 API レベルよりも新しい Android OS を搭載したデバイスでもユーザーがアクセスし続けられるようにするには、API レベル 31 以降を対象とする必要があります。API レベル 30 以前(Wear OS の場合は API レベル 29 以前)を対象とするアプリの場合は、アプリの対象 API レベルと同じかそれ以前の Android OS を搭載したデバイス上でのみアクセス可能となります。

👉 Google Play アプリの対象 API レベル要件 - Play Console ヘルプ hatena-bookmark

ということで、API レベルを 32 から 33 に上げるための対応詳細を書いていきます。


(更新中...)


ログインに使っている Twitter (X) アカウントの連携を削除する手順

Twitter (X) のアカウントで連携してログインしているサービスが不正アクセスされて情報が流出してしまうときがあります。


流出してからでは遅いのですが、確認しておくといいです。

 

連携を削除する方法

Twitter (X) アプリから進みます。


設定とプライバシー

 ↓

セキュリティとアカウントアクセス

 ↓

連携されてるアカウント

 ↓

(該当のアプリで)
アプリの許可を取り消す




再度、連携しているアプリを確認しておくといいと思います。

緊急でいつでも削除できるように。



【iPhone】Yahoo天気アプリ 「現在地ボタンが変わりました」は「現在地ボタンは無くなりました」では?

現在地ボタンが消えた!???

現在地に戻るのボタンが表示されなくなった

バージョンは「9.0.0」

調べてみると、

Yahoo天気アプリの雨雲表示画面で、「現在地ボタンが変わりました」と出ているのですが、どう変わったのかがわかりません。
以前は現在地ボタン(“的”のようなアイコン)があり、そこをタップすると自分の現在地が地図の中心になったのですが、バージョンアップされたものだと現在地ボタンは見当たらず、どうすれば自分の現在地が中心にくるのかわからないです。「現在地ボタンが変わりました」ではなく、「現在地ボタンは無くなりました」のような気がします。
現在地を中心にする方法がわかる方がいれば教えて頂きたいです。

アプリのアップデートで解決しました。
私も半日程悩んでました(−_−;)

👉 Yahoo天気アプリの雨雲表示画面で、「現在地ボタンが変わりました」と出ているのですが、どう変わったのかがわかりません。 - Yahoo!知恵袋 hatena-bookmark

ということで、Yahoo 天気アプリをバージョン「9.0.1」にアップデートします。

表示されるようになりました!!

ということで、

現在地ボタンが表示されなくなったのは、バージョン 9.0.0 のバグ

といったところでしょうか。

👉 「Yahoo!天気」をApp Storeで hatena-bookmark


将来、URL の twitter.com は x.com となるんだろうか。

アイコンが変わりました。

URLはどうなるのでしょうか。


❯ curl -I https://x.com
HTTP/2 302
date: Mon, 24 Jul 2023 14:24:27 GMT
location: https://twitter.com/
cache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
expires: Thu, 01 Jan 1970 00:00:01 GMT
server: cloudflare
cf-ray: 7ebcd3ab8e352615-NRT

❯ curl -I https://twitter.com
HTTP/2 403
date: Mon, 24 Jul 2023 14:24:21 GMT
perf: 7626143928
server: tsa_m
set-cookie: guest_id_marketing=v1%3A169020866196904294; Max-Age=63072000; Expires=Wed, 23 Jul 2025 14:24:21 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
set-cookie: guest_id_ads=v1%3A169020866196904294; Max-Age=63072000; Expires=Wed, 23 Jul 2025 14:24:21 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
set-cookie: personalization_id="v1_oj788V5nRvbYdR1OvohwoQ=="; Max-Age=63072000; Expires=Wed, 23 Jul 2025 14:24:21 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
set-cookie: guest_id=v1%3A169020866196904294; Max-Age=63072000; Expires=Wed, 23 Jul 2025 14:24:21 GMT; Path=/; Domain=.twitter.com; Secure; SameSite=None
x-powered-by: Express
cache-control: no-cache, no-store, max-age=0
x-transaction-id: dd0d24c26c46ed06
strict-transport-security: max-age=631138519
x-response-time: 182
x-connection-hash: 0a63336cc2c8ce1c490be21f121a4f8e8442c7a69dc1ee67c226dc672635b233

これは、どう考えるべきか。

完全移行しますかね。

しれっと、Unicode 文字も存在する。