Gradle: initwith не работает для minify и proGuard - PullRequest
0 голосов
/ 05 марта 2020

В моем коде у меня есть 5 типов сборки. В моем случае QA нужно инициализировать с выпуском, но это не работает, так как при запуске ./gradlew assembleQa не генерируется mapping.txt

То, что я пытаюсь доказать:

qa.initWith(buildTypes.release)
qa { 
    ... 
}
qa { 
    initwith release
    ... 
}
qa { 
    initwith buildTypes.release
    ... 
}

Во всех случаях оно не получит свойство из релиза (поскольку не строит отображение)

    minifyEnabled true
    proguardFiles 'proguard-android.txt', 'proguard-rules.pro', 'proguard-log.pro'

Так что теперь у меня есть это:

qa {
    ...
    minifyEnabled true
    proguardFiles 'proguard-android.txt', 'proguard-rules.pro', 'proguard-log.pro'
    ...
}

release {
    ...
    minifyEnabled true
    proguardFiles 'proguard-android.txt', 'proguard-rules.pro', 'proguard-log.pro'
    ...
}

Что не очень приятно. Как я могу сделать initWith работает? Спасибо

1 Ответ

0 голосов
/ 06 марта 2020

Кроме того, что я нашел в некоторых курсах Gradle, это выглядит как вопрос порядка (по крайней мере, внутри одной и той же функции}

Итак, внутри buildTypes, чтобы заставить initWith работать, потребуется прийти после. как это:

release {
    ...
    minifyEnabled true
    proguardFiles 'proguard-android.txt', 'proguard-rules.pro', 'proguard-log.pro'
    ...
}

qa {
    ...
    initWith buildTypes.release
    ...
}
...