Shadow icon indicating copy to clipboard operation
Shadow copied to clipboard

compileSdk 31 androidx.core:core-ktx:1.7.0 问题

Open kevintcl opened this issue 3 years ago • 2 comments

当 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 原理逻辑啥的不是熟悉。看报错好像要这样弄

kevintcl avatar Feb 11 '22 14:02 kevintcl

是的,目前代码是用SDK 30编译的,所以缺少31新增的方法。你按照提示自己补充方法是对的。

shifujun avatar Feb 14 '22 07:02 shifujun

是的,目前代码是用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

Noahs007 avatar Oct 10 '22 06:10 Noahs007

怎么修改

longrenzhut1 avatar Nov 16 '22 02:11 longrenzhut1