痛苦的 Unity 项目导出到 Android 每个构建(我做错了什么)

Painful Unity project export to Android each build (I'm doing something wrong)

我想知道是否有比以下步骤更快的方法来使用 Android(gradle 导出)测试 Unity 应用程序:

  1. 统一改变一些东西
  2. 构建设置 & 运行 --> 导出(新 Gradle)
  3. 现在Android项目中的旧gradle替换,所以我需要复制粘贴来自备份
  4. Res文件夹也被替换,所以我需要复制粘贴备份
  5. 最终构建并 运行 设备上的 APK

第 3 步和第 4 步 显然是使这个过程 痛苦(缓慢) 的原因,我发现 manifest.xml Unity android 插件,所以这个保持不变(直接在Unity中编辑)。那我做错了什么吗?有没有办法 只更新 Android 项目的一部分 (比如,如果我只更改了 C# 脚本的一行,只需为 Android 重建这一行)

如果我的解释不够清楚,请告诉我:)

编辑:我已经在 Unity 论坛上发布了这个,但一天后我还没有得到任何答复

您可以创建自己的 Gradle 文件。 将其放入 Plugins/Android 文件夹并命名为 mainTemplate.gradle 它将使用那个。

据我所知,没有办法只重建其中的一部分。 Unity 不会从 c# 代码创建 java 文件。它创建自己的模块并直接使用它们。

顺便说一句,你为什么要导出?为什么不直接编译到您的设备?

虽然这个问题有点老了,但我只是想要一个额外的答案(以防万一以后有人像我一样想知道这个问题)。我个人需要同时使用 Android Studio 和 Unity,因此制作插件对我来说并不是一个真正的选择。

现在我有一个自定义 gradle 文件,如已接受的答案中所述。但是,我还添加了一个额外的资源文件夹(Android 在这里解释得很好:https://developer.android.com/studio/write/add-resources.html)。

你基本上只需要编辑你的自定义 gradle 文件来添加到两个资源目录的路径。将您不希望 Unity 覆盖的资源添加到其他资源文件夹。

现在每次重建项目时,资源都会保留,您不必将它们复制回去。

您可以先导出一个正式的 Android 项目,使用该项目构建您最终的 apk。 然后您可以在您的 Unity 项目中编写一个 EditorUtil 脚本,该脚本执行以下操作: 1.export 临时 Android 项目到另一个文件夹。 2.copy assets 文件夹和 jnilib 文件夹或您要在正式 Android 项目中替换的任何其他文件夹。

每次你想要导出你的项目,只需在你的Unity Editor中触发导出功能,它会自动复制和粘贴文件夹,然后你的正式项目就可以构建了。