JavaFX,Unity3D,Android,IOS等技术教程和生活随笔,仅供记录

http://www.wingmei.cn/wp-content/themes/Vtrois-Kratos-e85a527/images/background.jpg

Unity3D build android apk的多个错误

之前一直是使用Mac系统,并没有乱七八糟的问题。但最近由于新冠肺炎的扩散,武汉在封城中,所以没办法去公司上班,大家都是在家远程办公。

首先Mac新版系统中剔除了PPTP的VPN协议,导致想接入公司的VPN很困难,而且使用了ShiMo等各种工具都不行,最后只能放弃,还是先使用win 10来办公吧。

将之前的Unity项目Clone下来,并安装相关环境,进行Android Apk的打包,出现了多种问题。

1、Could not resolve com.android.tools.build:gradle:3.0.1

这个问题很明显,就是gradle库无法下载,但是大部分情况下只需要在unity中使用gradle模板,将相应的repositories链接添加进去即可,例如阿里的maven, maven{ url ‘http://maven.aliyun.com/nexus/content/groups/public/’} 等。

但还有可能是另外一种情况,可以看导致无法下载的描述:the trustAnchors parameter must be non-empty。本人出现了这种情况,后来仔细看了下,是JDK的问题,我安装的OpenJDK中lib缺少部分库,后来重新下载安装了就没问题了。

《Unity3D build android apk的多个错误》
错误信息

2、com.android.dx.cf.code.SimException: invalid opcode ba (invokedynamic requires –min-sdk-version >= 26)

《Unity3D build android apk的多个错误》
错误信息

该问题需要在Unity3D Build Android的gradle模板中,“android”下添加以下代码:

compileOptions {
     sourceCompatibility JavaVersion.VERSION_1_8
     targetCompatibility JavaVersion.VERSION_1_8
}

这样就行了。

3、com.android.dex.DexException: Multile dex files define Lbitter/jnibridge$a

《Unity3D build android apk的多个错误》
错误信息

通常Multile dex files就是有相关类重复了,而这里显示Lbitter/jnibridge,只需要我们在编译好的aar中的classes.jar中删除BuildConfig.class文件即可。


总的来说Unity开发还是很方便的,最近我也在使用Unity开发游戏,不过Unity在版本切换等方便有时候会出现一些头疼的问题,但不能否认的是Unity近几年的变化还是很大的,特别是2D游戏开发上越来的越方便,而且新版Unity里也支持高清显示了,在我的IMac上终于能看的很舒服。

后续待游戏做完了再发博客里。

点赞

发表评论

电子邮件地址不会被公开。