Unity3D打包APK,无法打进Jar的解决办法

当Unity3D项目在打包APK时,出现特定Jar文件无法打进APK导致运行时Crash的问题,可以尝试通过创建空包测试、检查编译错误信息以及更新JDK和Android SDK Build-tools来解决。具体步骤包括检测Jar代码、查看编译错误,以及确认JDK版本匹配。
摘要由CSDN通过智能技术生成

Key:Unity,APK,安卓Android,Jar丢失


最近同事遇到一个问题,无论在接腾讯的MSDK还是韩国的SK渠道的SDK,其中的某个Jar的代码在打包时永远不会出现的APK中。这样导致在运行使用相关代码时造成APP闪退(Crash),日志中可以看到相关Class not Found的错误。

 

如果出现这样的问题,可以按照以下方法解决

 

1、建立空包测试

创建了一个空的U3D工程,将那个Jar文件a.jar放在Assets/Plugins/Android/libs/下,同时将一个可以正常打包的Jar文件b.jar也放在该位置。打包。按照检测方法查看是否有a.jar和b.jar中的相关代码

如果有,那么就是要检测jar的代码,以及自定义android插件(自己写的java代码)是否有错误,比如包引用等等

 

2、查看编译错误信息

如果一般情况下没有apk的错误编译信息,可以使用重复文件的方法来看输出。复制一份b.jar为b1.jar,打包。正常情况下会打包错误,查看错误信息。

如果这个方法发现除了代码重复的错误外,还有bad class file magic (cafebabe) or version的错误,说明Jar打包的JDK超过了U3D使用的JDK版本。

解决方法:更新JDK并且配置环境变量和U3D的JDK路径。同时升级AndroidSDK Build-tools版本(优先升级Android SDK Tools)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值