Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /app/build/outputs/mapping/debug/missing_rules.txt

Android Gradle プラグインを 8.1.1 にアップデートしたら以下のエラーでビルドできない。

Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /app/build/outputs/mapping/debug/missing_rules.txt.

Missing class com.google.protobuf.java_com_google_android_gmscore_sdk_target_granule__proguard_group_gtm_N1281923064GeneratedExtensionRegistryLite$Loader (referenced from: java.util.List kotlinx.coroutines.internal.FastServiceLoader.load(java.lang.Class, java.lang.ClassLoader))

Caused by: [CIRCULAR REFERENCE: com.android.tools.r8.utils.b: Missing class com.google.protobuf.java_com_google_android_gmscore_sdk_target_granule__proguard_group_gtm_N1281923064GeneratedExtensionRegistryLite$Loader (referenced from: java.util.List kotlinx.coroutines.internal.FastServiceLoader.load(java.lang.Class, java.lang.ClassLoader))]

メッセージにある missing_rules.txt ファイルを確認します。

一度、直上の debug ディレクトリで Reload from Disk すると現れます。

Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /app/build/outputs/mapping/debug/missing_rules.txt.

Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /app/build/outputs/mapping/debug/missing_rules.txt.


# Please add these rules to your existing keep rules in order to suppress warnings.
# This is generated automatically by the Android Gradle plugin.
-dontwarn com.google.protobuf.java_com_google_android_gmscore_sdk_target_granule__proguard_group_gtm_N1281923064GeneratedExtensionRegistryLite$Loader

# Please add these rules to your existing keep rules in order to suppress warnings.

# 警告を抑制するには、これらのルールを既存のキープ ルールに追加してください。

ということなので、そのまま proguard-rules.pro に追加するとビルドできるようになりました!

こんな機能あったのか、と思い調べてみると、AGP 7.0.0 で追加されていたのですね。

AGP は欠落している可能性のあるルールをすべて含むファイルを生成し、app/build/outputs/mapping/release/missing_rules.txt のようなファイルパスに書き込みます。警告を無視するには、proguard-rules.pro ファイルにルールを追加します。

👉 Android Gradle プラグインのリリースノート  |  Android デベロッパー  |  Android Developers hatena-bookmark

ということで R8 による難読化で発生するエラーの特定も簡単になっています。

ますます便利になっていきます Android Studio。

👉 support obfuscating protobuf message fields [144631039] - Visible to Public - Issue Tracker hatena-bookmark



【Mac】絵文字 や GitHubショートコード は「GitHub Emoji Picker」で入力する 😀

 

😀 Mac内蔵 絵文字ビューア

普通に絵文字を入力する場合は以下でいけます。


- Control+Command+スペースバー を押します。

👉 Macで絵文字と記号を使用する - Apple サポート (日本) hatena-bookmark

 

【Mac】GitHub 絵文字ショートコードは「GitHub Emoji Picker」で 😀

絵文字ビューアが開いたら好きな絵文字をダブルクリックすると入力できますね。
【Mac】GitHub 絵文字ショートコードは「GitHub Emoji Picker」で 😀

しかし、この方法で入力しているのはショートコードではありません。生絵文字です。

 

😀 GitHub ショートコード

Unicode 絵文字のうち、頻繁に使うであろう絵文字を厳選したものの中から、「GitHub ショートコード」をクリックでクリップボードにコピーできます。

GitHub Emoji Picker
👉 GitHub Emoji picker hatena-bookmark

WEBサイトですので Chrome や Safari などブラウザアクセスできます。

ショートコードでなく、生の絵文字をコピーしたい場合は、「Shift を押しながらクリック」します。

Unicode 絵文字のうち、頻繁に使うであろう絵文字を厳選したものの中から、「GitHub ショートコード」をクリップボードにコピーできます。

ということで、このサイトでは、ショートコード と 生絵文字 の両方を入力できます。

ただし、先程も言ったように、すべての絵文字ではなく「厳選された絵文字」のみです。

 

😀 Dock に入れておく

便利なよく使うツール系WEBサイトは、アプリのように Dock に入れておくと便利です。

【Mac】GitHub 絵文字ショートコードは「GitHub Emoji Picker」で 😀

「GitHub Emoji picker」をブラウザで開いた状態から、
ブラウザのURLバー内の「open this link, choose an app」→ 「Open」して、

【Mac】絵文字 や GitHubショートコード は「GitHub Emoji Picker」で入力する 😀

Dock 内に表示されたら、「Keep in Dock」で Dock 内に保存する。

【Mac】絵文字 や GitHubショートコード は「GitHub Emoji Picker」で入力する 😀

これで、Dock からアプリのようにサイトを表示して使用できます。

表示サイズは、ブラウザと同様の操作で変更しておけば記憶され、起動時にそのサイズで起動表示されるようになります。

 

😀 まとめ

ショートコードは、サービスやアプリケーションで異なるのが面倒っちゃあ面倒です。

生絵文字を貼っても、実質、サービス側で変換されるようなので、Mac内蔵の絵文字ビューアでもいいような気もしますが、「厳選された絵文字」なので不必要に絵文字選択を悩むことがない、のがいいように思えたりもします。

👉 【Kotlin】絵文字を含む Unicode 文字列の文字数をカウントする方法と文字ごとの構成要素 hatena-bookmark
👉 絵文字が意図しない白黒で表示される ➡️ - Unicode Variation Selector hatena-bookmark


【WordPress】ダッシュボードの Jetpack 統計 のグラフが読み込み中のまま表示されない 😩

表示されなくなるんです、管理画面のアクセス数のグラフ。

ダッシュボードの Jetpack 統計 のグラフが読み込み中のまま表示されない

 

😩 管理画面新機能に切り替えてから発生

管理画面のどこかで「新機能に切り替えますか」と表示されたので「はい」を押してから、表示できなくなった。

ので、以前の機能に戻す。


管理画面メニュー

 |

Jetpack

 |

設定

 |

トラフィック

 |

Jetpack 統計

 |

「新しい Jetpack 統計情報のエクスペリエンスを有効化」をOFF

ダッシュボードの Jetpack 統計 のグラフが読み込み中のまま表示されない

直接行くなら、URLは以下です。


https://your.wordpress.host/wp-admin/admin.php?page=jetpack#/settings?term=stats

 

😩 400 Bad Request もよく表示される不具合

再度、ONにしようとすると、


設定の更新中にエラーが発生しました。 JsonParseError

と表示されたり、

以下ように表示されて管理画面や公開サイト部分にもアクセスできなくなったり。

「新しい Jetpack 統計情報のエクスペリエンスを有効化」をOFF


400 Bad Request
Request Header Or Cookie Too Large

クッキーを削除するまで管理画面にアクセスできません。

消すしかないので以下から。


chrome://settings/clearBrowserData

 

😩 まとめ

何が原因なのか謎。

根本的に解決はしていません。

一体、なんなんすかね。