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
        // ...
    }
}