【问题标题】:Unity build systems: internal vs gradleUnity 构建系统:内部与 gradle
【发布时间】:2017-10-17 20:34:56
【问题描述】:

我在任何地方都找不到 internal 和 gradle 之间的区别。 (我可以找到关于 gradle 的信息,但不幸的是没有关于内部的)

有人能写出优缺点,哪一个更好用,还是取决于你正在创建的应用程序?

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    Internal(Default) 用于通过编辑器在 Android 上构建甚至运行 Unity 项目。这可以通过 Build And Run 按钮来完成。


    Gradle(New) 选项为您提供额外 选项,如果 Export Project 选项被选中。 Export Project 选项只有在选择Gradle(New) 时才能被选中。 Gradle(New) 选项主要仅对 Android 平台有用。

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

    在过去,要在构建中使用 gradle 文件,您必须将 Unity 项目导出为 Android 项目,然后使用第三方软件,如 Android Studio 或 Eclipse 为您的应用添加 gradle 支持。 Gradle(New) 让这变得更容易了。您现在可以使用 Gradle(New) 选项完全不导出项目来执行此操作。

    【讨论】:

      【解决方案2】:

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

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

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

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

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

      【讨论】:

        【解决方案3】:

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

        Android:移除内部构建系统

        【讨论】:

        • 是的,因此无法再使用内部构建选项修复“gradle build failed”错误
        猜你喜欢
        • 2012-11-27
        • 1970-01-01
        • 2014-05-21
        • 1970-01-01
        • 1970-01-01
        • 2022-10-12
        • 1970-01-01
        • 1970-01-01
        • 2018-10-03
        相关资源
        最近更新 更多