Распространение разделов APK с помощью Firebase App Distribution - PullRequest
1 голос
/ 04 августа 2020

«Можно ли использовать распространение приложений Firebase с разделением APK? Он не объявляет зависимость от задачи assemble, есть ли какие-нибудь обходные пути для этого? "

1 Ответ

0 голосов
/ 04 августа 2020

Проблема с плагином gradle заключается в том, что он

  1. не объявляет зависимости от задачи assemble (в общем, независимо от разбиения apk по соглашению gradle, вы не должны ' t просто «ожидайте», что apks будут там)

  2. не генерирует задачи на разбиение 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()}"
}
}
}
...