Notes
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.txt
fichier à 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.txt
fichier à 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
POST
requête à l’API symbol_uploads. Cet appel alloue de l'espace sur notre backend pour votre fichier et retourne une propriétésymbol_upload_id
et 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_url
propriété retournée à partir de la première étape, effectuez unePUT
demande 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
PATCH
demande à l’API symbol_uploads à l’aide de lasymbol_upload_id
proprié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 chargementcommitted
sur (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
GET
demande à l’API symbols_list. Cela récupère les ID des fichiers de mappage que vous avez chargés. - Effectuez une
DELETE
demande à l'API symbols_upload avec l'ID du fichier de mappage. Cela supprime le fichier de mappage spécifié.