Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Unity3D中为Android启用多索引选项?_Android_Unity3d - Fatal编程技术网

如何在Unity3D中为Android启用多索引选项?

如何在Unity3D中为Android启用多索引选项?,android,unity3d,Android,Unity3d,关于团结建设,我犯了一个错误: trouble writing output: Too many method references: 78849; max is 65536. You may try using --multi-dex option. 但我不知道如何明确告诉Unity使用multi-dex。关于这个问题,我建议查看Unity3D官方论坛: 从这里开始问答: 以下是统一组织官员的答复: 所以我们没有在Unity中增加支持的最大原因是它不起作用。或者更确切地说,它通常造成的问题

关于团结建设,我犯了一个错误:

trouble writing output: Too many method references: 78849; max is 65536.
You may try using --multi-dex option.

但我不知道如何明确告诉Unity使用multi-dex。

关于这个问题,我建议查看Unity3D官方论坛:

从这里开始问答:

以下是统一组织官员的答复:

所以我们没有在Unity中增加支持的最大原因是它不起作用。或者更确切地说,它通常造成的问题比解决的问题多。除非你只针对现代版本的Android,否则我建议你在选择multi-dex之前,尽一切努力,包括剥离和升级代码

如果您不相信我的话,请在谷歌开发者页面查看multi-dex库的已知限制:

所以得出的结论是尽最大努力减少方法的数量,使其保持在65K范围内。例如,如果您使用google-play-services.jar,那么您可以将其替换为只需要它的子模块

也有关于导出到Android Studio并在那里构建项目的讨论,但显然,由于dex问题,它没有成功

此外,我主张阅读有关DEX问题的文章


我希望,这会有帮助。祝你好运

要激活Unity上的multidex,请执行3个简单步骤:

1)使用渐变构建系统:

Unity -> File -> Build Settings -> Build System -> Gradle.
2)签入“Сustom梯度模板”:

3)更改mainTemplate.gradle文件:

从路径打开文件:Assets\Plugins\Android\mainTemplate.gradle

添加以下代码:

android 
{
   ...
   defaultConfig
   {
       multiDexEnabled true
       ...
    }
}
其他信息:

unity是android的插件还是单独版本的androidI?假设您可以导出android项目并手动启用它。这应该是公认的解决方案。它在最新版本的Unity中工作得非常好,gradle build是默认选项。很简单,工作起来很有魅力。我尝试了其他的解决方案(比如developer.android),但没有效果,最终还是成功了。
android 
{
   ...
   defaultConfig
   {
       multiDexEnabled true
       ...
    }
}