Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Important
Visual Studio App Center a été mis hors service le 31 mars 2025, à l’exception des fonctionnalités d’analyse et de diagnostic, qui continueront d’être prises en charge jusqu’au 30 juin 2026. En savoir plus.
ProGuard, DexGuard et R8 sont des outils permettant d’optimiser et d’obfusquer le code des applications Android. Il supprime le code inutilisé, renomme les classes, les champs et les méthodes avec des noms sémantiquement obscurs, réduisant ainsi la taille de la base de code et la rendant plus difficile à désassembler. Pour activer l’obfuscation avec ProGuard ou R8 dans votre application Android, suivez la documentation officielle du développeur Android.
Avec ProGuard, DexGuard ou R8 activé dans votre application Android, vos traces de pile doivent être déobfuscatées. App Center déobfusque automatiquement les traces de pile pour vos applications Android Java, Kotlin et React Native lorsque vous chargez le fichier mapping.txt créé à chaque build. Ce fichier associe les noms de classes, de méthodes et de champs d’origine aux noms obfusqués afin de rendre les traces de pile lisibles.
Le service de génération et de distribution App Center peut générer automatiquement des fichiers de mappage et les charger dans le service Diagnostics. Si vous utilisez App Center pour générer et distribuer automatiquement votre application à vos utilisateurs finaux, vous n’avez pas besoin d’obtenir et de charger manuellement les fichiers de mappage, comme indiqué dans les étapes ci-dessous.
Chargement du fichier mapping.txt
Portail App Center
- Télécharger le
mapping.txtfichier à partir du répertoire de build de votre module d’application - Connectez-vous à App Center et sélectionnez votre application
- Dans le menu de gauche, accédez à la section Diagnostics
- Sélectionner Mappe
- Cliquez sur le bouton Charger les mappages en haut à droite
- Renseignez le nom de version et le code de version (ceux-ci doivent correspondre à la configuration Gradle de la build pour que le mappage fonctionne pour une build particulière)
- Chargez le
mapping.txtfichier à partir du répertoire de build de votre module d’application. - Cliquez sur le bouton Enregistrer .
App Center API
Le processus de chargement de fichiers de mappage via l’API implique une série de trois appels d’API : un pour allouer de l’espace sur notre serveur principal, un pour charger le fichier et un pour mettre à jour l’état du chargement. Le corps du premier appel d'API doit définir symbol_type sur AndroidProguard, ainsi que les propriétés build et version, qui correspondent respectivement au code de version et au nom de version, ainsi qu'à un file_name.
- Déclenchez une
POSTrequête à l’API symbol_uploads. Cet appel alloue de l'espace sur notre backend pour votre fichier et retourne une propriétésymbol_upload_idet une propriété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}'
- À l’aide de la
upload_urlpropriété retournée à partir de la première étape, effectuez unePUTdemande avec l’en-tête :"x-ms-blob-type: BlockBlob"et fournissez l’emplacement de votre fichier sur le disque. Cet appel charge le fichier dans nos comptes de stockage back-end. En savoir plus sur les en-têtes de demande d’objet blob PUT.
curl -X PUT '{upload_url}' \
-H 'x-ms-blob-type: BlockBlob' \
--upload-file '{path to file}'
- Effectuez une
PATCHdemande à l’API symbol_uploads à l’aide de lasymbol_upload_idpropriété retournée à partir de la première étape. Dans le corps de la demande, spécifiez si vous souhaitez définir l’état du chargementcommittedsur (terminé avec succès) le processus de chargement ouaborted(non terminé).
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" }'
Remarque
L’API de chargement de symboles ne fonctionne pas pour les fichiers dont la taille est supérieure à 256 Mo. Utilisez l’interface CLI App Center pour charger ces fichiers. Vous pouvez installer l’interface CLI App Center en suivant les instructions de notre référentiel CLI App Center.
App Center CLI
Vous pouvez également utiliser l’interface CLI pour charger des fichiers de mappage :
appcenter crashes upload-mappings --mapping {mapping file} --version-name {version name} --version-code {version code}
Remarque
App Center ne peut pas vérifier si vous avez chargé le fichier approprié mapping.txt . Nous vous recommandons de charger le fichier directement après avoir créé le fichier .apk, ou de l’envoyer (push) à votre référentiel de code si vous souhaitez le charger ultérieurement.
Transfert du mappage à partir d’une build dans App Center
Si une build est configurée pour produire un mapping.txt fichier, App Center produit le fichier comme un téléchargement disponible. Distribuer automatiquement la build ou la distribuer manuellement ultérieurement transférera le mapping.txt fichier vers Diagnostics pour déobfusquer les rapports d’incident entrants. Il n’est pas nécessaire de charger manuellement le mapping.txt fichier après avoir distribué une build.
Suppression d’un fichier de mappage
- Effectuez une
GETdemande à l’API symbols_list. Cela récupère les ID des fichiers de mappage que vous avez chargés. - Effectuez une
DELETEdemande à l'API symbols_upload avec l'ID du fichier de mappage. Cela supprime le fichier de mappage spécifié.