Jenkins打包之Android JAR包冲突解决

C#

浏览数:90

2019-8-30

AD:资源代下载服务

Unity摊

最近一直在搞腾讯的MSDK,不得不说你大爷已经不是你大爷,但是腾讯始终还是腾讯,恩很棒棒,不仅完美支持Android和iOS平台,竟然还支持PC端Debug, 腻害腻害~


此处有掌声

可是可是。。。。


惊吓

由于 MSDK的部分功能交给了平台进行接入,接下来带来了很头疼的问题(此处为什么交给部门接入的原因略,,,,)。

我们都知道Unity打包安卓时,并不是你把所有SDK需要的JAR放到Plugin/Android/libs下就可以了,尽管MSDK已经帮我们做了一键部署安卓环境,还需要安卓环境能够编译通过才行,结果在使用Jenkins自动打包的时候,出现了以下现象:


我不想看到它
我看不到它

CommandInvokationFailure: Unable to convert classes into des format.
C:/Program Files/Java/jdk1.7.0_80\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir 
= "C:/android-sdk\tools" -Dfile.encoding=UTF8 -jar "D:/Program Files\Unity5.6.4p4\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar".

我不看

相信我,你绝对不想继续看下去。

111.jpg

简单来说,是因为有两个jar包冲突了,在翻看平台封装的jar包走流程时,凑巧发现 腾讯部署环境时自动生成了这个msdk_unity_adapter_1.2.0u.jar包,其中有一个类WXEntryActivity与平台封装的jar冲突。


冲突jar

最后只能找平台删除自己封装的WXEntryActivity。

字数不够,全靠图凑!

也希望如果有同学遇到相同问题,可以有个参考,尤其是打包卡在

Unable to convert classes into dex format. See the Console for details.

浅析,未刨底,共同学习!

作者:Jens丶