[com.mcdonalds.mobileapp] npe becuase appUrl dont exists on com.google.firebase.dynamiclinks.internal.DynamicLinkData.deepLink

オープン
#1,663 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
38/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
android, firebase, java
領域
mobile-dev

調査の方向性

スタックトレースで特定された FireBaseDynamicLink$2.onSuccess コールバックから開始し、DynamicLinkData.deepLink と appUrl クエリパラメータがどのように処理されているかを調べます。報告された設定で Android 11 上の起動時クラッシュを再現します。appUrl がない場合にアプリがクラッシュしなくなれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Affected app
Name: McDonalds
Package id: com.mcdonalds.mobileapp

Describe the bug
application crashes on start-up due to firebase.

To Reproduce
Steps to reproduce the behavior:

  1. Go to open app

System
Android Version: 11
Custom ROM: LineageOS 18.1

microG
microG Core version: v0.2.24.214816
microG Self-Check results: All ticked

Additional context

02-05 12:59:30.393 19070 19070 D AndroidRuntime: Shutting down VM
02-05 12:59:30.393 19070 19070 E AndroidRuntime: FATAL EXCEPTION: main
02-05 12:59:30.393 19070 19070 E AndroidRuntime: Process: com.mcdonalds.mobileapp, PID: 19070
02-05 12:59:30.393 19070 19070 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.contains(java.lang.CharSequence)' on a null object reference
02-05 12:59:30.393 19070 19070 E AndroidRuntime:        at mcdonalds.dataprovider.google.firebase.invites.FireBaseDynamicLink$2.onSuccess(SourceFile:23)
02-05 12:59:30.393 19070 19070 E AndroidRuntime:        at com.google.android.gms.tasks.zzm.run(SourceFile:5)
02-05 12:59:30.393 19070 19070 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:938)
02-05 12:59:30.393 19070 19070 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:99)
02-05 12:59:30.393 19070 19070 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:223)
02-05 12:59:30.393 19070 19070 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:7664)
02-05 12:59:30.393 19070 19070 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
02-05 12:59:30.393 19070 19070 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
02-05 12:59:30.393 19070 19070 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
@Override // com.google.android.gms.tasks.OnSuccessListener
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
    DynamicLinkData dynamicLinkData;
    String str;
    .........
    PendingDynamicLinkData pendingDynamicLinkData2 = pendingDynamicLinkData;
    Uri parse = (pendingDynamicLinkData2 == null || (dynamicLinkData = pendingDynamicLinkData2.dynamicLinkData) == null || (str = dynamicLinkData.deepLink) == null) ? null : Uri.parse(str);
    .........
    String queryParameter4 = parse.getQueryParameter("appUrl"); <---- RETURN NULL
    if (queryParameter4.contains("gmalite-account-otp")) { <----- NPE
    .........
}
主要言語
Java
スター
14.6k
フォーク
3.2k
平均マージ
12日 11時間
マージ済み PR(30日)
4

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

microg/GmsCore のほかの issue

microg/GmsCore の issue をすべて見る

似ている issue

Java の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。