具体错误如下
Dex: Error converting bytecode to dex:
Cause: Dex cannot parse version 52 byte code.
This is caused by library dependencies that have been compiled using Java 8 or above.
If you are using the 'java' gradle plugin in a library submodule add
targetCompatibility = '1.7'
sourceCompatibility = '1.7'
Unity5.6版本在编译java时,使用的1.7,就是说gradle版本是2.1.0.
由于接入的插件中具有使用1.8编译的jar包.所以unity会报这个
Dex cannot parse version 52 byte code.
首先复制unity安装目录下的gradle文件路径是
E:\安装路径\Unity5.6.5f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\GradleTemplates\mainTemplate.gradle
将此文件复制到Plugins\Android\中(不要重命名)
然后打开文件修改gradle版本为2.3.0
classpath 'com.android.tools.build:gradle:2.3.0'
此时如果发布会报错,因为unity中使用的gradle包是2.14的.需要改成3.3的
打开链接gradle-3.3-all.zip下载3.3的包,然后解压.
在压缩包根目录中找到lib文件夹.并复制文件夹.
打开unity安装路径
E:\安装路径\Unity5.6.5f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle
删除lib文件夹,并将压缩包中的lib粘贴进去.
此时从unity发布将没有此问题.