unity问题总结
unity版本2018.4.18。后续版本可能不同UR:unity安装根目录\Editor\Data\PlaybackEngines\AndroidPlayer\Tools
PR:项目根目录
整体结构
[*]gradle版本指定问题
参考
版本对应关系
实际上真正用的目录是UR\gradle\lib中的版本
只要将这个lib替换为指定的版本就行
[*]其他参数问题,主要是针对gradle.properties文件,比如支持AndroidX,
参考
在项目的Asset/Plugins/Editor下新建一个C#文件,命名为SupportAndroidXGradlePropertiesBuildProcessor.cs
using System.IO;using UnityEditor.Android;using UnityEngine;#if UNITY_ANDROIDpublic class SupportAndroidXGradlePropertiesBuildProcessor : IPostGenerateGradleAndroidProject{ public int callbackOrder { // 同种插件的优先级 get { return 999; } } public void OnPostGenerateGradleAndroidProject(string path) { Debug.Log("Bulid path : " + path); string gradlePropertiesFile = path + "/gradle.properties"; if (File.Exists(gradlePropertiesFile)) { File.Delete(gradlePropertiesFile); } StreamWriter writer = File.CreateText(gradlePropertiesFile); writer.WriteLine("org.gradle.jvmargs=Xmx4096M"); writer.WriteLine("android.useAndroidX=true"); writer.WriteLine("android.enableJetifier=true"); writer.Flush(); writer.Close(); }}#endif构建
通过 .UR\GradleTemplates中的几个模板是整体的根模板,可以改这里来更改所有的项目。PR\Assets\Plugins\Android\mainTemplate.gradle的修改来实现基本的依赖的调整
其他
[*]google登录的google-services.json配置
可以在mainTemplate.gradle中直接添加任务。比如
task copyJsonFile { copy { delete("google-services.json") from('E:/workdata/unity/GameHoursDemo/Assets/Plugins/Android/') into('./') include("google-services.json") }}
页:
[1]