Igo*_*nko 10 android unity-game-engine
在使用Unity构建时,我收到一个错误:
trouble writing output: Too many method references: 78849; max is 65536.
You may try using --multi-dex option.
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何明确地告诉Unity使用multi dex.
要在Unity上激活multidex,请遵循3个简单步骤:
1)使用Gradle构建系统:
Unity -> File -> Build Settings -> Build System -> Gradle.
Run Code Online (Sandbox Code Playgroud)
2)签入“?ustom Gradle模板”:
Player Setting... -> Publish Settings -> Check in "?ustom Gradle Template"
Run Code Online (Sandbox Code Playgroud)
3)更改mainTemplate.gradle文件:
从以下路径打开文件:Assets \ Plugins \ Android \ mainTemplate.gradle
添加以下代码:
android
{
...
defaultConfig
{
multiDexEnabled true
...
}
}
Run Code Online (Sandbox Code Playgroud)
附加信息:https : //docs.unity3d.com/Manual/android-gradle-overview.html
我建议查看关于这个问题的官方Unity3D论坛:
而Q/A来自那里:当我导出android build时,有太多的方法引用
以下是Unity官方的回复:
因此,我们没有在Unity中添加对此的支持的最大原因是因为它不起作用.或者更确切地说,它通常会产生比解决更多的问题.除非你只针对Android的现代版本,否则我建议你尽一切力量,包括在采用多索引路线之前剥离和编程代码.
如果你不相信我,只需在Googles开发者页面上查看multi-dex库的已知限制:https: //developer.android.com/tools/building/multidex.html#limitations
所以结论是尽力减少方法数量以保持在65K以内.例如,如果您使用google-play-services.jar,则只能将其替换为所需的子模块.
还有关于导出到Android Studio并在那里构建项目的讨论,但显然,由于dex问题,它没有成功.
另外,我主张阅读有关DEX问题的这篇文章.
我希望,这有帮助.祝好运!
| 归档时间: |
|
| 查看次数: |
14141 次 |
| 最近记录: |