集成最新的alipay sdk遇到如下错误:
Unexpected error while computing stack sizes: Class = [com/alipay/sdk/m/i/a] Method = [a(Lcom/alipay/sdk/m/o/a;Landroid/content/Context;Z)V] Exception = [java.lang.IllegalArgumentException] (Stack size becomes negative after instruction [66] dup in [com/alipay/sdk/m/i/a.a(Lcom/alipay/sdk/m/o/a;Landroid/content/Context;Z)V]) Unexpected error while editing code:
定位:
(1)确保出问题的类被keep住了
(2)如果1确实被keep住但还有问题,可能是别的gradle插件在transform期间把字节码操作坏了(比如booster的1.6.0版本),导致proguard期间才报错,验证是哪个插件时可以二分法注释插件来定位。解决:
(1)看该插件是否有exclude某个class功能,有的话这应该是最优解
(2)升级该插件,比如滴滴的booster升级到4.1.0可解决此问题
(3)如果1和2都没有,该插件没人维护了,那只能尝试自己写个插件在编译期排除此class文件,然后将此class反编译成源码,查看出问题的方法,找到可能会被写坏的方法,换种方式写,再将修改后的源码参与编译,可能就不会被别的gradle插件写坏了,此乃无奈之举,耗时也会比较久。
关于Stack size becomes negative after instruction [66] dup in xxx
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Android studio我们那些年遇到的坑(一) 总结一下最近多年遇到的andorid studio重大问题,...
- 本篇文章会通过一个案例对逆向破解的流程进行详细的解说 通过本篇文章你会知道逆向的一个简单流程 学会简单的逆向开发 ...