Unity构建系统:内部vs gradle

时间:2017-10-17 20:34:57

标签: unity3d

我找不到内部和gradle之间的区别。 (我可以找到有关gradle的信息,但遗憾的是没有内部信息)

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

3 个答案:

答案 0 :(得分:14)

内部(默认)用于在编辑器上构建甚至在Android上运行Unity项目。这可以使用 Build and Run 按钮完成。

如果导出项目, Gradle(新建)选项为导出您的Unity项目提供额外选项导出 选项已选中。只有在选择 Gradle(新建)时,才能检查导出项目选项。 Gradle(新)选项仅适用于Android平台。

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

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

答案 1 :(得分:8)

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

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

要了解更多信息,请参阅Gradle for Android Build入门Gradle的资源。 内部构建是统一技术用于构建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文档。

答案 2 :(得分:1)

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

  

Android:删除内部构建系统