如何在 Android Studio logcat 中找到罪魁祸首

问题描述 投票:0回答:1

如果制作了一个带有多个插件的cordova应用程序。其中之一是 chromecast 插件。连接到接收器后,应用程序停止(消息:...已停止)。在 logcat 中,我看到导致此崩溃的堆栈跟踪。我的问题:如何读取此堆栈跟踪并找到导致错误的确切文件?

2023-12-18 09:35:57.526 2446-2446 Android运行时 E 致命异常:主要
Process: <APPNAME>, PID: 2446
java.lang.IllegalArgumentException: <APPNAME>: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
    at android.app.PendingIntent.checkFlags(PendingIntent.java:401)
    at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:671)
    at android.app.PendingIntent.getBroadcast(PendingIntent.java:658)
    at com.google.android.gms.internal.cast.zzah.zza(Unknown Source:32)
    at com.google.android.gms.cast.framework.CastSession$zzb.onResult(Unknown Source:12)
    at com.google.android.gms.common.api.internal.BasePendingResult$CallbackHandler.handleMessage(com.google.android.gms:play-services-base@@18.1.0:6)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7941)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:569)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1015)

如果我知道哪个文件导致了问题,我可以轻松解决这个问题。但我没有看到任何可以编辑的文件。

如何读取此堆栈跟踪并打开导致此错误的确切文件?

android android-studio logcat
1个回答
0
投票

第二行说:您的代码中仍然有过时的 PendingIntent 调用,可能类似于:

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, mIntent, 0);

从 API 31 开始,必须设置第四个参数,例如

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, mIntent, PendingIntent.FLAG_IMMUTABLE);
© www.soinside.com 2019 - 2024. All rights reserved.