J'ai perdu le code source de mon application Flutter en raison d'une corruption de lecteur, mais j'ai mon debug.apk
dans mon Android. Quelqu'un peut-il s'il vous plaît me dire comment décompiler le Flutter apk
pour obtenir le code source. J'ai essayé de le décompiler à l'aide de décompilateurs mais il ne donne pas mon le code source car le code source flutter est en langage Dart.
Si votre debug.apk est en mode débogage, vous pouvez utiliser apktool pour extraire les composants de l'apk (j'utilise l'extraction de Word car apk est un fichier Zip).
Flutter, en mode débogage, conserve le code source (avec commentaires!) Dans le fichier kernel_blob.bin. Ainsi, à l'aide de la commande suivante, devrait vous aider à extraire le code dans un fichier:
strings /path/to/extracted/apk/assets/flutter_assets/kernel_blob.bin > extracted_code.Dart
S'il vous plaît, faites attention - Vous aurez besoin de nettoyer 'extract_code.Dart', des chaînes non pertinentes/ordures.
Essayez de rechercher des chaînes comme "Dart", "import", "void" et d'autres mots clés dans 'extract_code.Dart', cela vous aidera à trouver le code lui-même.
Voici un exemple de mon Ubuntu:
Si l'apk est compilé en mode "release", l'extraction du code sera beaucoup plus difficile, car le code est compilé dans le fichier isolate_snapshot_instr, qui n'est pas un assemblage de bras brut, et n'est désérialisé qu'en utilisant le moteur Flutter au moment de l'exécution. Vous pouvez en savoir plus ici