1 votes

Impossible d'installer un fichier apk modifié

Je veux surveiller le trafic https d'une application Android téléchargée depuis Google Play.

Cette application ne peut être exécutée que sur Android N et supérieur.

Donc j'utilise le proxy Charles et suis ce document pour modifier le fichier apk.

Voici ce que j'ai fait:

  1. Télécharger l'application depuis Google Play.

  2. Utiliser extracteur d'apk pour obtenir le fichier apk de l'application.

  3. Exécuter apktool d the_app.apk pour extraire le fichier apk.

  4. Modifier res/xml/network_security_config.xml et AndroidManifest.xml en se basant sur la description du document Charles Proxy.

  5. Exécuter apktool b the_app pour empaqueter les fichiers dans un fichier apk.

  6. Installer l'apk sur mon téléphone Android, dont la version est 8.

  7. Mon téléphone affiche "Application non installée".

Pourquoi ne puis-je pas installer l'apk modifié sur mon téléphone?

J'ai désactivé Google Play Protect sur mon téléphone.

Le apktool est installé en suivant la description ici.

Est-ce que j'ai raté quelque chose?

1 votes

Il semble que je dois re-signer l'apk.

3voto

pr0nin Points 353

Le fichier APK généré par apktool doit être signé avant de pouvoir l'installer sur un téléphone Android ou un émulateur :

Tout d'abord, vous devez créer une paire de clés pour la signature stockée dans un magasin de clés (uniquement nécessaire une fois) :

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Notez que cette commande utilise keytool pour JDK. source

Ensuite, vous devez signer l'application en utilisant apksigner qui fait partie du SDK Android :

java -jar build-tools\29.0.3\lib\apksigner.jar sign -ks my-release-key.keystore 

Maintenant, vous pouvez l'installer sur l'appareil :

adb install 

Si vous avez le fichier apk original installé sur l'appareil, vous devez le désinstaller. En raison de la signature modifiée, vous pouvez installer votre fichier apk modifié par-dessus le fichier original déjà installé.

0 votes

Merci. Où puis-je télécharger apksigner.jar pour mon macOS? J'ai téléchargé la page "command line tools only" ici, mais je ne trouve pas apksigner dans le fichier téléchargé.

0 votes

Est-ce que je dois utiliser sdkmanager pour installer apksigner ?

0 votes

Il semble que je doive d'abord installer les outils de build en exécutant sdkmanager --install 'build-tools;29.0.2'

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X