Unity-启用Multidex或太多方法

一切如何开始


大家好。在Unity引擎上为Android开发游戏的某个阶段,我遇到了构建问题。在将诸如Appodeal和Google Play Games之类的插件添加到项目后,使用的方法数量超过65K,并且在构建过程中出现以下错误:

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

阅读了Appodeal文档后,我意识到我需要启用Multidex。我决定这样做。该站点具有指向Android Studio的说明的链接。然后在Unity,我们该怎么办?

一切都非常简单,您只需执行以下三个操作:

启用Gradle构建系统


在Android项目中启用Unity中的Gradle

  1. 在Unity中,打开“构建设置”(“ 文件 ” >>“ 构建设置”
  2. 如果您还没有选择平台,那么是时候去做了(Platform >> Android
  3. 在Build System列表中,选择Gradle(Build System >> Gradle

图片

更改摇篮设置


1.要更改Gradle设置,首先需要获取Gradle设置文件,该文件位于文件夹(Assets / Plugins / Android / mainTemplate.gradle)中。如果从链接下载mainTemplate.gradle文件粘贴到地址Assets / Plugins / Android /

下载文件

2.如果已经有了该文件,则将multiDexEnabled true行添加defaultConfig

3 对象中如果最低Android API级别为20或更低,请添加此行编译'com.android.support:multidex:1.0.1'4.

注释掉或删除这些行:

minifyEnabled **MINIFY_DEBUG**
useProguard **PROGUARD_DEBUG**

最终文件视图:

图片

初始化Multidex


如果Android API最低级别设置为20或更低。

更新位于Assets / Plugins / Android / AndroidManifest.XML中的清单文件如果没有此文件,则必须创建它。您可以在Unity安装位置的default.xml中找到AndroidManifest。但是,您还必须手动应用应用程序的项目设置:程序包名称,权限,配置参数和其他信息。

如果您只是创建一个新的清单文件,或者已经有一个清单文件,则只需按如下所示添加此参数(android:name):

图片

就是这样。错误消失了,您可以平静地构建项目。

谢谢您的关注。

Source: https://habr.com/ru/post/undefined/


All Articles