«Можно ли использовать распространение приложений Firebase с разделением APK? Он не объявляет зависимость от задачи assemble
. Есть ли какие-либо обходные пути для этого?
Распространение разделенных APK-файлов с помощью Firebase App Distribution
Ответы (1)
Проблема с плагином gradle в том, что он
не объявляет зависимость от задачи
assemble
(в общем, независимо от разбиения apk, по соглашению gradle, вы не должны просто ожидать, что там будут apks)не генерирует задачи для разбиения apk - но вы делаете для вкусов
Попробуйте следующее решение:
// Generate firebase app distribution task variants for all abis
applicationVariants.all { variant ->
variant.outputs.all { output ->
def abi = output.getFilter(com.android.build.OutputFile.ABI)
if (abi == null) return
def abiName = abi.replace("_", "").replace("-", "")
task("appDistributionUpload${abiName.capitalize()}${variant.name.capitalize()}", type: com.google.firebase.appdistribution.gradle.UploadDistributionTask_Decorated) {
appDistributionProperties = new com.google.firebase.appdistribution.gradle.AppDistributionProperties(
new com.google.firebase.appdistribution.gradle.AppDistributionExtension(),
project,
variant
)
appDistributionProperties.apkPath = output.outputFile.absolutePath
appDistributionProperties.serviceCredentialsFile = project.file("secrets/ci-firebase-account.json")
appDistributionProperties.releaseNotes = abi
appDistributionProperties.groups = "ra-testers"
// Add dependsOn respective assemble task, so it actually
// builds apk it wants to upload, not just expect it to be there
dependsOn "assemble${variant.name.capitalize()}"
}
}
}
person
Chintan
schedule
04.08.2020
Спасибо за твой ответ!
- person Mittal; 06.08.2020