Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Центр приложений Visual Studio был прекращен 31 марта 2025 г., за исключением функций аналитики и диагностики, которые будут поддерживаться до 30 июня 2026 г. Подробнее.
ProGuard, DexGuard и R8 — это средства для оптимизации и скрытия кода приложений Android. Он удаляет неиспользуемый код, переименовывает классы, поля и методы с семантически скрытыми именами, что делает кодовую базу меньше и сложнее для проведения обратного проектирования. Чтобы включить маскировку с помощью ProGuard или R8 в приложении Android, следуйте официальной документации разработчика Android.
При включении ProGuard, DexGuard или R8 в вашем приложении для Android, трассировки стека должны быть деобфускированы. App Center автоматически декодирует трассировки стека для приложений Java, Kotlin и React Native Android при отправке mapping.txt файла, созданного при каждой сборке. Этот файл сопоставляет исходный класс, метод и имена полей с закодированными именами, делая трассировки стека возможными для чтения.
Служба сборки и распространения Центра приложений может автоматически создавать файлы сопоставления и отправлять их в службу диагностики. Если вы используете Центр приложений для создания и автоматического распространения приложения для конечных пользователей, вам не нужно вручную получать и отправлять файлы сопоставления, как описано в приведенных ниже шагах.
Отправка файла mapping.txt
Портал Центра приложений
-
mapping.txtСкачивание файла из каталога сборки модуля приложения - Войдите в Центр приложений и выберите приложение
- В меню слева перейдите к разделу "Диагностика"
- Выбор сопоставлений
- Нажмите кнопку "Отправить сопоставления" в правом верхнем углу
- Заполните Имя версии и Код версии (они должны соответствовать конфигурации Gradle сборки, чтобы сопоставление работало для конкретной сборки).
-
mapping.txtОтправьте файл из каталога сборки модуля приложения. - Нажмите кнопку Сохранить.
API Центра приложений
Процесс отправки файлов сопоставления через API включает в себя ряд трех вызовов API: один для выделения пространства на серверной части, один для отправки файла и один для обновления состояния отправки. Тело первого вызова API должно установить symbol_type, AndroidProguard, build и version свойства, которые соответствуют коду версии и имени версии соответственно, а также file_name.
-
POSTАктивируйте запрос к API symbol_uploads. Этот запрос выделяет пространство в серверной системе для вашего файла и возвращает свойстваsymbol_upload_idиupload_url.
curl -X POST 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads' \
-H 'accept: application/json' \
-H 'X-API-Token: {API TOKEN}' \
-H 'Content-Type: application/json' \
-d '{JSON BODY}'
- Используя свойство, возвращенное на первом шаге, выполните
upload_urlзапрос с заголовком:PUTи укажите путь к вашему файлу на диске. Этот запрос отправляет файл на наши серверные учетные записи хранения. Узнайте больше о заголовках запросов PUT для BLOB.
curl -X PUT '{upload_url}' \
-H 'x-ms-blob-type: BlockBlob' \
--upload-file '{path to file}'
-
PATCHВыполните запрос к API symbol_uploads с помощью свойстваsymbol_upload_idвозвращенного на первом этапе. В тексте запроса укажите, нужно ли задать состояние отправкиcommitted(успешно завершено) процесса отправки илиaborted(неудачно завершено).
curl -X PATCH 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}' \
-H 'accept: application/json' \
-H 'X-API-Token: {API TOKEN}' \
-H 'Content-Type: application/json' \
-d '{ "status": "committed" }'
Замечание
API отправки символов не работает для файлов, размер которых превышает 256 МБ. Используйте интерфейс командной строки Центра приложений для отправки этих файлов. Вы можете установить CLI App Center, следуя инструкциям в репозитории CLI App Center.
Интерфейс командной строки Центра приложений
Вы также можете использовать интерфейс командной строки для отправки файлов сопоставления:
appcenter crashes upload-mappings --mapping {mapping file} --version-name {version name} --version-code {version code}
Замечание
Центр приложений не может проверить, отправлен ли правильный mapping.txt файл. Мы рекомендуем отправить файл непосредственно после создания файла .apk или отправить его в репозиторий кода, если вы хотите отправить его позже.
Пересылка сопоставления из сборки в Центре приложений
Если сборка настроена для создания mapping.txt файла, Центр приложений создает файл как доступный для загрузки. Автоматическое распространение сборки или вручное распространение его позже перенаправит файл в систему диагностики mapping.txt, чтобы расшифровать входящие отчеты о сбоях. После распространения сборки не требуется вручную отправить mapping.txt файл.
Удаление файла сопоставления
-
GETВыполните запрос к API symbols_list. Это извлекает идентификаторы для файлов сопоставления, которые вы загрузили. -
DELETEВыполните запрос к API symbols_upload с идентификатором файла сопоставления. При этом удаляется указанный файл сопоставления.