Android-deobfuscation

Fontos

A Visual Studio App Center 2025. március 31-én megszűnt, kivéve az Elemzési és diagnosztikai funkciókat, amelyek 2026. június 30-ig továbbra is támogatottak lesznek. Tudj meg többet.

A ProGuard, a DexGuard és az R8 az Android-alkalmazások kódjának optimalizálására és elrejtésére szolgál. Eltávolítja a nem használt kódot, átnevezi az osztályokat, mezőket és metódusokat szemantikailag homályos névvel, így a kódbázis kisebb és nehezebben fordítható vissza. Ha engedélyezni szeretné a ProGuard vagy az R8 használatát az Android-alkalmazásban, kövesse az Android fejlesztői dokumentációját.

Ha a ProGuard, a DexGuard vagy az R8 engedélyezve van az Android-alkalmazásban, a verem nyomkövetését le kell bomlasztani. Az App Center automatikusan visszafejti az összeomlási jelsorokat a Java, Kotlin és React Native Android-alkalmazásai számára, amikor feltölti azt a fájlt, amelyet az egyes buildeléseknél hoztak létre. Ez a fájl leképezi az eredeti osztály-, metódus- és mezőneveket az elhomályosított nevekre, így a veremnyomok olvashatóvá válnak.

Az App Center buildelési és terjesztési szolgáltatása automatikusan létrehozhat leképezési fájlokat, és feltöltheti őket a Diagnosztikai szolgáltatásba. Ha az App Center használatával készíti el és osztja el automatikusan az alkalmazást a végfelhasználóknak, nem kell manuálisan beszereznie és feltöltenie a leképezési fájlokat az alábbi lépésekben leírtak szerint.

A mapping.txt fájl feltöltése

App Center Portál

  1. A fájl letöltése az mapping.txt alkalmazásmodul buildkönyvtárából
  2. Jelentkezzen be az App Centerbe, és válassza ki az alkalmazást
  3. A bal oldali menüben lépjen a Diagnosztika szakaszra
  4. Leképezések kiválasztása
  5. Kattintson a jobb felső sarokban található Feltöltési leképezések gombra
  6. Adja meg a verziónevet és a verziókódot (ezeknek meg kell egyezniük az adott build Gradle-konfigurációjával ahhoz, hogy a leképezés működjön egy adott build esetében)
  7. Töltse fel a fájlt az mapping.txt alkalmazásmodul buildkönyvtárából.
  8. Kattintson a Mentés gombra.

App Center API

A leképezési fájlok API-n keresztüli feltöltésének folyamata három API-hívásból áll: az egyik a háttérrendszeren lévő hely lefoglalása, a másik a fájl feltöltése, a másik pedig a feltöltés állapotának frissítése. Az első API-hívás törzsének be kell állítania a verziókódnak megfelelő symbol_type, AndroidProguard és build tulajdonságokat, valamint a verziónévnek megfelelő version-t, továbbá egy file_name-t.

  1. Küldjön egy kérést POST a symbol_uploads API-nak. Ez a hívás helyet biztosít a fájl számára a háttérrendszerünkön, és visszaad egy symbol_upload_id és egy upload_url tulajdonságot.
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}'
  1. upload_url Az első lépésben visszaadott tulajdonság használatával küldjön egy kérést PUT a fejléchez, "x-ms-blob-type: BlockBlob" és adja meg a fájl helyét a lemezen. Ez a hívás feltölti a fájlt a háttértárfiókokba. További információ a PUT Blob-kérelem fejléceiről .
curl -X PUT '{upload_url}' \
    -H 'x-ms-blob-type: BlockBlob' \
    --upload-file '{path to file}'
  1. Küldjön kérést PATCH az symbol_uploads API-nak az symbol_upload_id első lépésben visszaadott tulajdonság használatával. A kérelem törzsében adja meg, hogy a feltöltés állapotát a feltöltési committed folyamat (sikeresen befejezett) állapotára szeretné-e beállítani, vagy aborted (sikertelenül befejeződött).
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" }'

Megjegyzés:

A szimbólumfeltöltési API nem működik a 256 MB-nál nagyobb fájlok esetében. Ezeket a fájlokat az App Center parancssori felületével töltheti fel. Az App Center parancssori felületét az App Center CLI-adattár utasításait követve telepítheti.

App Center parancssori felület

A parancssori felülettel leképezési fájlokat is feltölthet:

appcenter crashes upload-mappings --mapping {mapping file} --version-name {version name} --version-code {version code}

Megjegyzés:

Az App Center nem tudja ellenőrizni, hogy feltöltötte-e a megfelelő mapping.txt fájlt. Javasoljuk, hogy közvetlenül a .apk létrehozása után töltse fel a fájlt, vagy küldje el a kódtárba, ha később fel szeretné tölteni.

A leképezés továbbítása egy buildből az App Centerben

Ha egy build egy fájl előállítására mapping.txt van konfigurálva, az App Center buildjei elérhető letöltésként állítják elő a fájlt. A build automatikus terjesztése vagy manuális terjesztése később továbbítja a fájlt a Diagnosticsnak, hogy feloldja a mapping.txt bejövő összeomlási jelentéseket. A build terjesztése után nincs szükség a mapping.txt fájl manuális feltöltésére.

Leképezési fájl törlése

  1. Kérjen kérelmet GET a symbols_list API-hoz. Ez lekéri a feltöltött leképezési fájlok azonosítóit.
  2. Küldjön egy kérést DELETE a symbols_upload API-nak a leképezési fájl azonosítójával. Ez törli a megadott leképezési fájlt.