之前一直是使用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缺少部分库,后来重新下载安装了就没问题了。
2、com.android.dx.cf.code.SimException: invalid opcode ba (invokedynamic requires --min-sdk-version >= 26)
该问题需要在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
通常Multile dex files就是有相关类重复了,而这里显示Lbitter/jnibridge,只需要我们在编译好的aar中的classes.jar中删除BuildConfig.class文件即可。
总的来说Unity开发还是很方便的,最近我也在使用Unity开发游戏,不过Unity在版本切换等方便有时候会出现一些头疼的问题,但不能否认的是Unity近几年的变化还是很大的,特别是2D游戏开发上越来的越方便,而且新版Unity里也支持高清显示了,在我的IMac上终于能看的很舒服。
后续待游戏做完了再发博客里。
文章评论