sensorsdata/sa-sdk-android

Gradle升级后,打包耗时且不断打印R8: Expected stack map table for method with non-linear control flow. In later version of R8, the method may be assumed not reachable.

Closed this issue · 9 comments

Hynsn commented

image
workspace/object_android_apk_pack_gradle7/xxx/android/app/build/intermediates/transforms/sensorsAnalyticsAutoTrack/check/releaseStaging/57.jar: R8: Expected stack map table for method with non-linear control flow. In later version of R8, the method may be assumed not reachable.
请问新版本中有解决这个问题吗?是否有适配R8?

您使用的插件版本是多少呢?

Hynsn commented

您使用的插件版本是多少呢?

你好!
com.sensorsdata.analytics.android:android-gradle-plugin2:3.4.5
com.sensorsdata.analytics.android:SensorsAnalyticsSDK:5.4.3

Hynsn commented

您使用的插件版本是多少呢?

您使用的插件版本是多少呢?

你好! com.sensorsdata.analytics.android:android-gradle-plugin2:3.4.5 com.sensorsdata.analytics.android:SensorsAnalyticsSDK:5.4.3

您使用的插件版本是多少呢?

你好! com.sensorsdata.analytics.android:android-gradle-plugin2:3.4.5 com.sensorsdata.analytics.android:SensorsAnalyticsSDK:5.4.3

请问有查出结果吗

Hynsn commented

@dengshiwei 大佬 可以帮忙看看这个问题吗,要石沉的感觉

image
之前已经优化过,如果量不大,不影响查看日志可以不用管。目前没办法彻底消除这个,后面会考虑做优化。

@Hynsn

Hynsn commented

image 之前已经优化过,如果量不大,不影响查看日志可以不用管。目前没办法彻底消除这个,后面会考虑做优化。

@Hynsn

好的,不过我这个是R8,希望有空看看,经常打好多这个感觉就像卡住了的感觉.

你也可以看看,不使用神策插件,对应的日志还多不多,因为有可能是其他插件处理不到位,流转到神策插件消费的时候也会体现出来。

Hynsn commented

你也可以看看,不使用神策插件,对应的日志还多不多,因为有可能是其他插件处理不到位,流转到神策插件消费的时候也会体现出来。

/.gradle/caches/transforms-3/66a26bf473915696432e858b9449bfbb/transformed/jetified-qnsdk-2.3.0.jar: R8: Expected stack map table for method with non-linear control flow. In later version of R8, the method may be assumed not reachable.

其它jar包也存在类似的log,gradle编译过程会将日志流转到神策插件吗?神策插件任务处理是靠后的顺序执行吗

你也可以看看,不使用神策插件,对应的日志还多不多,因为有可能是其他插件处理不到位,流转到神策插件消费的时候也会体现出来。

/.gradle/caches/transforms-3/66a26bf473915696432e858b9449bfbb/transformed/jetified-qnsdk-2.3.0.jar: R8: Expected stack map table for method with non-linear control flow. In later version of R8, the method may be assumed not reachable.

其它jar包也存在类似的log,gradle编译过程会将日志流转到神策插件吗?神策插件任务处理是靠后的顺序执行吗

跟 jar 包没关系的。是有其他的 Gradle Plugin 也会处理字节码。按照 apply 插件的顺序依次向下传递,如果神策插件是最后处理的,当进行 dex 打包的时候 AGP 会对字节码做判断,如果有问题就会反应在最后的插件上。关于这方面你可以了解一下 Transform:https://developer.android.com/reference/tools/gradle-api/7.3/com/android/build/api/transform/Transform