Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Program Visual Studio App Center został wycofany 31 marca 2025 r. z wyjątkiem funkcji analizy i diagnostyki, które będą nadal obsługiwane do 30 czerwca 2026 r. Dowiedz się więcej.
ProGuard, DexGuard i R8 to narzędzia do optymalizacji i zaciemniania kodu aplikacji systemu Android. Usuwa nieużywany kod, zmienia nazwy klas, pól i metod z semantycznie niejasnymi nazwami, dzięki czemu baza kodu jest mniejsza i trudniejsza do inżynierii odwrotnej. Aby włączyć zaciemnianie za pomocą narzędzia ProGuard lub R8 w aplikacji systemu Android, postępuj zgodnie z oficjalną dokumentacją dla deweloperów systemu Android.
W przypadku włączenia ProGuard, DexGuard lub R8 w aplikacji Android, ślady stosu muszą być odtajnione. Usługa App Center automatycznie dekoduje ślady stosu dla aplikacji Java, Kotlin i React Native w systemie Android po przesłaniu pliku utworzonego przy każdej kompilacji mapping.txt. Ten plik odwzorowuje nazwy oryginalnych klas, metod i pól na ich zaciemnione odpowiedniki, dzięki czemu ślady stosu stają się czytelne.
Usługa kompilacji i dystrybucji centrum aplikacji może automatycznie generować pliki mapowania i przekazywać je do usługi diagnostyki. Jeśli używasz usługi App Center do kompilowania i automatycznego dystrybuowania aplikacji do użytkowników końcowych, nie musisz ręcznie uzyskiwać i przekazywać plików mapowania, jak opisano w poniższych krokach.
Wysyłanie pliku mapping.txt
Portal Centrum aplikacji
- Pobierz plik
mapping.txtz folderu kompilacji modułu aplikacji - Zaloguj się do Centrum aplikacji i wybierz aplikację
- W menu po lewej stronie przejdź do sekcji Diagnostyka
- Wybieranie mapowań
- Kliknij przycisk Przekaż mapowania w prawym górnym rogu
- Wprowadź nazwę wersji i kod wersji (muszą one być zgodne z konfiguracją narzędzia Gradle kompilacji, aby mapowanie działało dla określonej kompilacji)
-
mapping.txtPrzekaż plik z katalogu kompilacji modułu aplikacji. - Kliknij przycisk Zapisz.
Centrum aplikacji API
Proces przekazywania plików mapowania za pośrednictwem interfejsu API obejmuje serię trzech wywołań interfejsu API: jeden do przydzielenia miejsca na zapleczu, jeden do przekazania pliku i jeden w celu zaktualizowania stanu przekazywania. Treść pierwszego wywołania interfejsu API powinna mieć właściwości symbol_type ustawione na AndroidProguard, build i version, które odpowiadają odpowiednio kodowi wersji i nazwie wersji, a także file_name.
- Wyzwalanie
POSTżądania do interfejsu API symbol_uploads. To wywołanie przydziela miejsce na naszym zapleczu dla twojego pliku i zwraca właściwośćsymbol_upload_idoraz właściwość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_urlUżywając właściwości zwróconej w pierwszym kroku, utwórzPUTżądanie z nagłówkiem :"x-ms-blob-type: BlockBlob"i podaj lokalizację pliku na dysku. To wywołanie przekazuje plik do kont magazynu zaplecza. Dowiedz się więcej o nagłówkach żądań PUT blob.
curl -X PUT '{upload_url}' \
-H 'x-ms-blob-type: BlockBlob' \
--upload-file '{path to file}'
-
PATCHPrześlij żądanie do interfejsu API symbol_uploads przy użyciusymbol_upload_idwłaściwości zwróconej w pierwszym kroku. W treści żądania określ, czy chcesz ustawić stan procesu przekazywania nacommitted(pomyślnie ukończony), czyaborted(zakończony niepowodzeniem).
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" }'
Uwaga / Notatka
Interfejs API przekazywania symboli nie działa w przypadku plików większych niż 256 MB. Użyj App Center CLI, aby przekazać te pliki. Interfejs wiersza polecenia centrum aplikacji można zainstalować, postępując zgodnie z instrukcjami w repozytorium interfejsu wiersza polecenia centrum aplikacji.
App Center CLI
Możesz również użyć interfejsu wiersza polecenia do przekazywania plików mapowania.
appcenter crashes upload-mappings --mapping {mapping file} --version-name {version name} --version-code {version code}
Uwaga / Notatka
Usługa App Center nie może sprawdzić, czy przekazano odpowiedni mapping.txt plik. Zalecamy przesłanie pliku bezpośrednio po utworzeniu .apk, lub umieszczenie go w repozytorium kodu, jeśli chcesz przesłać go później.
Przesyłanie mapowania z builda w App Center
Jeśli kompilacja jest skonfigurowana do tworzenia mapping.txt pliku, App Center tworzy go jako dostępny do pobrania. Automatyczne dystrybuowanie kompilacji lub ręczne dystrybuowanie jej później spowoduje przekazanie pliku mapping.txt do programu Diagnostics w celu deobfuscacji przychodzących raportów o awarii. Nie jest konieczne ręczne przekazywanie pliku mapping.txt po dystrybucji kompilacji.
Usuwanie pliku mapowania
-
GETPrześlij żądanie do interfejsu API symbols_list. To uzyskuje identyfikatory dla plików mapowania, które przekazałeś. -
DELETEPrześlij żądanie do interfejsu API symbols_upload przy użyciu identyfikatora pliku mapowania. Spowoduje to usunięcie określonego pliku mapowania.