Closed qq549631030 closed 1 year ago
这个问题是 AGP 校验 class 文件的 StackMapTable 属性导致的,之前版本 AGP 是不校验这个属性的,不过对结果没有影响。你可以确认一下不使用我们插件,是否还有这些问题
确认过注释掉神策的插件就没有问题,你们有办法解决吗?编译一下几千个警告,编译速度也受影响
这个问题,我们内部沟通一下,预计周一回复您。
目前对此问题进行了分析,原因如前面所述,将会在后面的版本对此问题进行修正。
目前对此问题进行了分析,原因如前面所述,将会在后面的版本对此问题进行修正。
请问是否有具体的时间表呢?遇到了同样的问题。
@likfe 由于方案影响范围大,初步预估是在 11 月底完成。
请问是否有进展了?
@likfe 目前已在 QA 测试了,预计本周内发布
@dengshiwei 看到3.4.5版本发布了,但是仓库上显示没有
@qq549631030 目前 maven 版本一直报异常,还在尝试发往 maven,暂时先使用本地 repo 包集成吧。
@qq549631030 @likfe maven 版本 v3.4.5 已发布,可以进行引用使用了。
大部份警告消除了,不过还有几个还在,不知道是插件问题,还是那些库本身的问题 AGPBI: {"kind":"warning","text":"Invalid stack map table at 25: goto L?, error: Source locals {0:Initialized(androidx.core.app.NotificationManagerCompat),1:Initialized(java.lang.String),2:Initialized(int),3:Initialized(android.app.Notification)} have different local indices than {0:Initialized(androidx.core.app.NotificationManagerCompat),1:Initialized(java.lang.String),2:Initialized(int),3:Initialized(android.app.Notification),4:Initialized(android.app.Notification),5:Initialized(int),6:Initialized(java.lang.String)}."
AGPBI: {"kind":"warning","text":"Invalid stack map table at 11: ifeq L?, error: Source locals {0:Initialized(com.just.agentweb.AgentWebView),1:Initialized(java.util.Iterator)} have different local indices than {0:Initialized(com.just.agentweb.AgentWebView),1:top,2:top,3:Initialized(java.lang.String),4:Initialized(com.just.agentweb.AgentWebView)}."
AGPBI: {"kind":"warning","text":"Invalid stack map table at 36: ifeq L?, error: Source locals {0:Initialized(com.just.agentweb.UrlLoaderImpl),1:Initialized(java.lang.String),2:Initialized(java.util.Map)} have different local indices than {0:Initialized(com.just.agentweb.UrlLoaderImpl),1:Initialized(java.lang.String),2:Initialized(java.util.Map),3:Initialized(java.lang.String),4:Initialized(android.webkit.WebView)}.
AGPBI: {"kind":"warning","text":"Invalid stack map table at 2: ifne L?, error: Source locals {0:Initialized(com.tencent.mm.opensdk.openapi.BaseWXApiImplV10)} have different local indices than {0:top,1:top,2:Initialized(int),3:Initialized(android.content.Intent),4:Initialized(int),5:Initialized(android.content.Context)}.
AGPBI: {"kind":"warning","text":"Invalid stack map table at 6: ifnull L?, error: Source locals {0:Initialized(com.alipay.sdk.widget.e)} have different local indices than {0:top,1:Initialized(java.lang.String),2:Initialized(android.webkit.WebView)}
@qq549631030 不是库的问题,这个我们测试的过程中也遇到了,原因是 ASM 修改了字节码(局部变量表),此时 Android Plugin 发现改变会给出如下的警告。目前这类的修改还无法处理。
D8 和 R8 都会出现这个,由于这个log非常多,导致在 gitlab 跑 ci 时,出现log显示不全的问题,这样需要重新配置 log 输出大小
AGP 7.0.2 gradle 7.0.2 神策SDK:6.2.2 神策插件:3.4.7
依然报这个警告
@WangZhen0908 +1 这个警告有计划解决么
AGP 7.0.2 gradle 7.0.2 神策SDK:6.2.2 神策插件:3.4.7
依然报这个警告
神策插件已经经过优化,正常情况下不会有过多的警告。有一些是其他插件处理 .class 时产生的问题。可以先将神策插件注释掉,然后再查看是否还是有非常多的警告。可以先通过这种方式排除一下产生警告过多的插件。
@WangZhen0908 +1 这个警告有计划解决么
请关注一下上述回复。
AGPBI: {"kind":"warning","text":"Expected stack map table for method with non-linear control flow.","sources":[{"file":"D:\source\TxxyAndroid\app\build\intermediates\transforms\sensorsAnalyticsAutoTrack\txxyDev1\debug\199.jar"}],"tool":"D8"}