Мое приложение состоит из двух динамических c модулей и мгновенного приложения. Я использую комплект приложений для загрузки своих производственных сборок в Play Store. Когда я пытаюсь загрузить apk в Firebase App Distribution , я использую команду:
./gradlew assembleVariantRelease appDistributionUploadVariantRelease
К сожалению, приложение, загруженное таким образом, приводит к cra sh, и stacktrace сообщает мне, что есть некоторые классы из динамических c модулей, которые отсутствуют.
Я нашел решение использовать bundletool и extract universal.apk от него. Оказывается, извлеченный apk прекрасно работает, имеет все классы, включенные для работы приложения.
Когда я использовал Fabri c Beta для распространения приложения, мне просто нужно было предоставьте apk для /projectPath/app/build/outputs/apk/variant/release
и запустите ./gradlew crashlyticsUploadDistributionVariantRelease
для его работы. Он загрузил рабочий файл apk, как и ожидалось.
Когда я попытался сделать то же самое с Firebase App Distribution (предоставив универсальный apk в нужную папку, затем запустив ./gradlew appDistributionUploadVariantRelease
без добавления assembleVariantRelease
сначала), кажется, что команда не только загружает apk в Firebase, но и перезаписывает мой предыдущий файл apk, создавая новый.
Когда я вручную загружаю файл universal.apk в Firebase (через веб-консоль), он также отлично работает.
Мой вопрос: есть ли команда gradle для распространения приложений Firebase, чтобы загружать только apk из указать папку c без запуска сборки нового файла apk?