Есть ли способ изменить файл gradle.properties в Unity - PullRequest
0 голосов
/ 14 января 2019

В Unity есть файл gradle.properties по умолчанию, который добавляется в процессе сборки. Хотя можно изменить файлы build.gradle и settings.gradle, как уже упоминалось здесь https://docs.unity3d.com/Manual/android-gradle-overview.html нет упоминания о возможности изменения свойств gradle.property в документах Unity. Файл также воссоздается при каждой попытке сборки, поэтому редактирование его в temp / gradleOut после сборки и повторная сборка не работает. Я знаю, что экспорт проекта также возможен, но я ищу решение, в котором проект можно запустить непосредственно из Unity.

Кстати, этот вопрос НЕ является дубликатом этого вопроса Как использовать Gradle в Unity Ответ здесь не имеет ничего общего с изменением файла gradle.properties.

Это дубликат этого вопроса, который был неправильно помечен как дубликат как изменить значения по умолчанию для gradle.properties Unity?

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Это было что-то, что было немного трудно обнаружить. Я собирался сделать обычный посткомпоновочный процессор, как и для своей сборки iOS, но когда я искал способ загрузки и определения, где находится файл свойств, я столкнулся со следующим интерфейсом в документации: IPostGenerateGradleAndroidProject.

Согласно документации :

Реализация этого интерфейса для получения обратного вызова после Android Gradle проект создан.

Итак, ниже приведена моя первоначальная реализация грубой силы для включения androidX и jetifier.

public class AndroidPostBuildProcessor : IPostGenerateGradleAndroidProject
{
    public int callbackOrder
    {
        get
        {
            return 999;
        }
    }


    void IPostGenerateGradleAndroidProject.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();

    }
}

Теоретически вы должны иметь возможность манипулировать сгенерированным проектом gradle любым способом по вашему выбору во время обработки после сборки. Могут быть полезны некоторые дополнительные инструменты, такие как поддержка PBXProject в iOS, но до тех пор это будет делать.

0 голосов
/ 15 января 2019

Хотя это не идеальное решение, вы можете использовать опцию «Экспорт проекта».

Настройки сборки

После экспорта проекта вы можете изменить gradle.properties и выполнить сборку с помощью AndroidStudio или командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...