java.lang.IllegalStateException: Module with the Main dispatcher is missing. Add dependency providing the Main dispatcher, e.g. 'kotlinx-coroutines-android'

なんなんすかね。

どっちかといえば、環境依存のバグではまる時間が増えてますよね。


-keepnames class kotlinx.** { *; }

IllegalStateException: Module with the Main dispatcher is missing · Issue #799 · Kotlin/kotlinx.coroutines


# ServiceLoader support
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}

# Most of volatile fields are updated with AFU and should not be mangled
-keepclassmembernames class kotlinx.** {
    volatile <fields>;
}

Android app with coroutines 0.30.1-eap13 crashes in runtime · Issue #657 · Kotlin/kotlinx.coroutines

あちこち依存周りで統率取れてない感ありません?

Jetifier forces Dagger 2.16 even when 2.17 is declared as a dependency [115738511] - Visible to Public - Issue Tracker


機種変更時にやるべき Google Authenticator (2段階 認証システム) のリカバリー対策

2段階認証利用時の2段階目の確認コードを発行してくれるのがそれ。

これを機種変更や端末移行時にどうするのが良いか。移行のついでに紛失したときのリカバリーも考慮しておきたい。

「登録QRコードは登録時に一度しか表示されない。」

それらの手順は、そのアカウントを発行しているサービスによって違うのだが共通に使える方法を見ておくと基本的なしくみを理解しやすい。

 

QRコードのキャプチャ画像を保存

簡単だが、保存場所に困る。

バックアップ/リカバリの方法が多いGoogleアカウントのサービス(Drive/Photo) に保存しておくのが安心か。

 

複数端末で同時に登録

認証情報を確認できる端末が複数あることが安全ではない。とも。

ひとつの端末が死んでも安心して利用できる?

 

テキストで保存

A. サービスごとのバックアップコードを保存

画像をキャプチャするか、コピペしてどこかに保存、または、紙に書いておくか。

これも保存場所に困る。

B. QRコードをテキスト化して保存


RFC 6238 - TOTP: Time-Based One-Time Password Algorithm で規定されているテキストURLがQRコードになっているだけなのが実質。


otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Example

Key Uri Format · google/google-authenticator Wiki

TOTPのURIを生成し、QRにエンコードとデコードしてから、ワンタイムパスワードを計算する | blog.monophile.net

秘密鍵だけテキスト化して保存しておくこともできるか。

サービスによって微妙にパラメータは違う様子。

 

1段階に戻す

驚異を承知で戻します?

 

まとめ?

サードパーティのQRコードリーダアプリで読み取って履歴保存はやばいよね?

わたしは紙に書いておこうと思っています。

みんなはどうしてる?

スマホに依存しすぎてねえ?

2段階認証プロセスに関する一般的な問題 - Google アカウント ヘルプ


アプリをインストールしたときにホームにアイコンを追加しない方法 | Pixel3 Android Pie

昔、Playストアの「設定」からだったけども、

Android Pie は違う。



「ホーム画面長押し」から

のようです。

ホント変わるよねー。