Unity构建系统:内部vs gradle

ssw*_*qaa 8 unity-game-engine

我无法找到内部和gradle之间的区别.(我可以找到有关gradle的信息,但不幸的是没有关于内部的信息)

有人可以写出利弊,哪一个更好用,或者取决于你正在创建的应用程序?

Pro*_*mer 14

内部(默认),用于构建,甚至在Android从编辑器中运行的统一项目.这可以使用Build and Run按钮完成.


摇篮(新)选项为您提供了额外的选项来导出您的项目统一进入的Android Studio项目,如果项目导出选项被选中.该项目导出时才能检查选项摇篮(新)被选中.Gradle(新)选项仅适用于Android平台.

Gradle(新)的另一个优点是它允许您指定自己的gradle文件来构建Unity项目.只需将gradle文件命名为"mainTemplate.gradle"并将其放在<ProjectName>Assets\Plugins\Android目录中即可.

在过去,要在构建中使用gradle文件,您必须将Unity Project导出为Android Project,然后使用第三方软件(如Android StudioEclipse)为您的应用添加gradle支持.的摇篮(新)做出更加容易.现在,您可以在不使用Gradle(新建)选项导出项目的情况下执行此操作.


小智 9

Gradle是一个Android构建系统,可以自动执行许多构建过程.这种自动化意味着不太可能发生许多常见的构建错误.最值得注意的是,它减少了DEX(Dalvik可执行文件格式)文件中的方法引用计数,这意味着您不太可能遇到DEX限制问题.但是,由于Gradle与默认的Unity Android构建系统之间存在差异,一些现有项目可能很难转换为Gradle.

您可以使用Unity中的Gradle构建系统构建输出包(APK),也可以导出Gradle项目并在外部工具(如Android Studio)中构建它.

要了解更多信息,请参阅Gradle for Gracast for Android Build入门的资源.内部构建是统一技术用于构建apk文件的旧系统内部构建系统通过按特定顺序调用Android SDK实用程序来创建APK.Unity会自动执行许多步骤来创建APK,包括:

  • 准备和构建Unity资产
  • 编译脚本
  • 处理插件
  • 如果选择"拆分应用程序二进制文件",则将资源拆分为转到APK和OBB的部分
  • 使用AAPT实用程序构建Android资源
  • 生成Android清单并将库清单合并到其中
  • 将Java代码编译为Dalvik可执行文件格式(DEX)
  • 如果选择了IL2CPP Scripting Backend,则构建IL2CPP库
  • 构建和优化APK和OBB包

有关OBB文件的更多信息,请参阅OBB支持上的Unity文档.有关Android Manifest的更多信息,请参阅Unity Android Manifest文档.


Ruz*_*ihm 5

自 Unity 2019.1.0b1 以来最近的一个非常重要的区别是不再支持内部构建系统!

Android:删除内部构建系统

  • 是的,因此“gradle build failed”错误无法再通过使用内部构建选项来修复 (2认同)