Довольно раздражает загружать файлы сопоставления ProGuard в консоль Google Play каждый раз, когда мне нужно создать новую версию моего apk (моя сборка gradle генерирует 4 разных apks для каждой версии, поэтому мне нужно загрузить 4 разных файла сопоставления)
Мне было интересно, можно ли сделать этот процесс автоматически, тогда я нашел эту статью
https://developers.google.com/android-publisher/api-ref/edits/deobfuscationfiles/upload
Итак, у Google есть API для загрузки файлов сопоставления, есть ли какой-либо плагин для работы с gradle? есть ли простой способ интегрироваться?





вы можете написать скрипт сборки gradle для запуска задач после завершения сборки а затем вы можете использовать что-то вроде этого плагин для загрузки файлов, чтобы загрузить файл по URL-адресу
когда у вас настроен Crashlytics, это объясняется здесь. есть также Плагин Play Publisher для Gradle, хотя он, похоже, не загружает mapping.txt. если вы хотите использовать этот API, его должно быть легко расширить, например. Клиент Google Cloud PHP с другой конечной точкой API.
Предложение: если вы публикуете Набор приложений для Android вместо APK, файл сопоставления деобфускации будет загружен автоматически вместе с вашим артефактом, поэтому вам не придется делать это отдельно.
@Pierre У меня есть пакет приложений в консоли Google Play, который я использую для внутреннего тестирования. Когда я смотрю на Android Vitals в разделе «Ошибки ANR» и «Сбои», он сообщает мне, где происходит сбой приложения. Это дает мне номер строки. Но когда я проверяю этот номер строки в коде приложения в Android Studio, он не совпадает. Я думал, что файл сопоставления должен отображать деобфусцированные строки кода с исходными строками кода в Android Studio?
Вам, вероятно, следует задать отдельный вопрос.
Последующий вопрос по этому поводу: если мы все равно загрузим файл сопоставления, проигнорирует ли он файл из файла aab или тот, который мы загрузили?
Можно ли загрузить файл сопоставления, если он уже включен в комплект?
Да, можно загрузить. Делаем это из CI (Bitrise). И недавно я обнаружил, что если мы загрузим файл сопоставления, Google возьмет его, а не тот, который находится в aab.
OMG, это скрыто в тени в документации. Спасибо!