using System.IO;
using Unity.Android.Gradle;
using UnityEditor.Android;
public class ModifyProjectScript : AndroidProjectFilesModifier
{
private string _myLibBuildGradle = Path.Combine("unityLibrary", "customPlugin", "build.gradle");
public override AndroidProjectFilesModifierContext Setup()
{
var projectFilesContext = new AndroidProjectFilesModifierContext();
// Tell the build system to expect a file to be produced in <gradleProject>/unityLibrary/customPlugin/build.gradle
projectFilesContext.Outputs.AddBuildGradleFile(_myLibBuildGradle);
// Tell the build system that it should run OnModifyAndroidProjectFiles if MyConfig.json has changes since the last build
projectFilesContext.Dependencies.DependencyFiles = new[]
{
"Assets/MyConfig.json"
};
return projectFilesContext;
}
public override void OnModifyAndroidProjectFiles(AndroidProjectFiles projectFiles)
{
// Produce an object that will be serialized to <gradleProject>/unityLibrary/customPlugin/build.gradle
var buildGradleFile = new ModuleBuildGradleFile();
buildGradleFile.Android.AaptOptions.NoCompress.Set(new []{"someValue"});
// Set the object that will be serialized to <gradleProject>/unityLibrary/customPlugin/build.gradle
projectFiles.SetBuildGradleFile(_myLibBuildGradle, buildGradleFile);
// Do some changes based on MyConfig.json here
// ...
}
}