Unity有一个默认的gradle.properties文件,该文件在构建过程中添加。虽然可以更改提到的build.gradle和settings.gradle文件 这里https://docs.unity3d.com/Manual/android-gradle-overview.html 没有提及能够在统一文档中更改gradle.properties。该文件还会在每次构建尝试时都重新创建,因此在构建后再在temp / gradleOut中对其进行编辑并无法正常工作。我知道也可以导出项目,但是我正在寻找一种解决方案,使该项目可以直接从整体运行。
此问题不是此问题的重复How to use Gradle in Unity 答案与修改gradle.properties文件无关。
这是此问题的重复,被错误地标记为重复how to change default gradle.properties of Unity?
答案 0 :(得分:2)
IPostGenerateGradleAndroidProject是Unity2018之后添加的新接口。
作为我基于Unity2017的项目,这不是一个好的解决方案。然后我发现了this。用Gradle解决方案。
([rootProject] + (rootProject.subprojects as List)).each {
ext {
it.setProperty("android.useAndroidX", true)
it.setProperty("android.enableJetifier", true)
}
}
答案 1 :(得分:2)
也许我的答案有点过时了,但是在Unity 2020中,您可以通过以下方式实现:
<a class="anchor" id="products"></a>
启用该复选框后,您将看到Player Settings -> Tab Android (with robot obviously) -> Publishing Settings -> Custom Gradle Properties Template (checkbox).
文件的路径(通常显示在Assets / Plugins / Android目录中),该文件将与gradleTemplate.properties
合并。
您需要的所有内容都可以写在final gradle.properties
字符串之后的文件末尾。
示例:
**ADDITIONAL_PROPERTIES**
也在屏幕截图上显示:
答案 2 :(得分:1)
这是很难发现的东西。我打算像在iOS版本中那样使用常规的后生成处理器,但是在寻找一种加载方式并确定属性文件在哪里的过程中,我遇到了文档中的以下界面:{{1} }。
实现此接口以在Android之后接收回调 Gradle项目已生成。
因此,以下是我用于开启androidX和jetifier的最初的蛮力实施。
IPostGenerateGradleAndroidProject
从理论上讲,您应该能够在后期构建处理器中以任何方式操纵生成的gradle项目。某些其他工具可能会有所帮助,例如iOS上的PBXProject支持,但是直到那时,这样做仍然可以。
答案 3 :(得分:0)
尽管这不是一个完美的解决方案,但是您可以使用“导出项目”选项。
导出项目后,您可以修改gradle.properties并使用AndroidStudio或命令行进行构建。
答案 4 :(得分:0)
在较新的Unity版本(2019.4+)中,可以通过转到项目设置>播放器>(Android选项卡)>其他设置>并标记“自定义Gradle属性模板”来生成自定义gradle属性模板。
选择在“资产/插件/Android/gradleTemplate.properties”处生成gradleTemplate.properties文件之后。
这是生成文件的最佳方法,因为它是git友好的并保留其他设置。