compileSdk 31 androidx.core:core-ktx:1.7.0 问题
当 sdk 为31,编译插件报错如下:
Class com.tencent.shadow.core.runtime.ShadowActivity中缺少方法: isLaunchedFromBubble:()Z被这些类调用了: androidx.core.app.ActivityCompat$Api31Impl
androidx.core:core-ktx:1.7.0 中 ActivityCompat.java
public static boolean isLaunchedFromBubble(@NonNull Activity activity) { if (BuildCompat.isAtLeastS()) { return Api31Impl.isLaunchedFromBubble(activity); } else if (Build.VERSION.SDK_INT == 30) { return activity.getDisplay() != null && activity.getDisplay().getDisplayId() != Display.DEFAULT_DISPLAY; } else if (Build.VERSION.SDK_INT == 29) { return activity.getWindowManager().getDefaultDisplay() != null && activity.getWindowManager().getDefaultDisplay().getDisplayId() != Display.DEFAULT_DISPLAY; } return false; }
我试做解决方法: 在ShadowActivity.java 复写了方案。就解决了 @Override public boolean isLaunchedFromBubble() { return super.isLaunchedFromBubble(); }
才开始接触shadow 原理逻辑啥的不是熟悉。看报错好像要这样弄
是的,目前代码是用SDK 30编译的,所以缺少31新增的方法。你按照提示自己补充方法是对的。
是的,目前代码是用SDK 30编译的,所以缺少31新增的方法。你按照提示自己补充方法是对的。
我也出现了相同的错误,请问一下,这种情况只能像题主那样去修改 sdk 中的 ShadowActivity ,复写 isLaunchedFromBubble 吗
shadow_replace_class_have_right_methods9445947965522222883.txt 文件的错误提示:
Class com.tencent.shadow.core.runtime.ShadowActivity中缺少方法:
isLaunchedFromBubble:()Z被这些类调用了:
androidx.core.app.ActivityCompat$Api31Impl
怎么修改