18 votes

Lire la permission APK par la commande shell

Je veux lire les permissions demandées pour un fichier .apk sur l'ordinateur (Android sdk est installé) via la ligne de commande.

I.E. :

$ android read-permissions /path/to/someapp.apk

Je sais que c'est possible, mais je ne trouve pas la commande appropriée.

27voto

David Negron Points 971

Si j'interprète correctement "sur l'ordinateur" pour dire "je veux utiliser la ligne de commande sur mon ordinateur pour lire les permissions d'un fichier .apk", alors vous pouvez le faire avec aapt sur un fichier local comme ceci :

C:\>aapt d permissions "MyApp.apk"
package: com.app.myapp
uses-permission: android.permission.ACCESS_NETWORK_STATE
uses-permission: android.permission.INTERNET

Si vous voulez dire que le .apk est sur l'appareil, alors je ne connais pas de moyen de le faire, à part le retirer et exécuter aapt comme ci-dessus. pm a un list permissions mais elle se contente de lister toutes les permissions disponibles sur le périphérique et n'accepte pas de paquet comme paramètre (pour autant que je sache, du moins).

1voto

Chris Stratton Points 1639

Sur l'appareil, il sera sans doute plus facile de rechercher la section concernée dans la section

/données/système/packages.xml

(qui puede être lu, même si son répertoire ne peut être parcouru ou répertorié) car il s'agit d'un fichier texte, alors que le fichier AndroidManifest.xml d'un apk est dans un format compressé.

Il existe du code sur le net pour interpréter les manifestes compressés sur le périphérique, mais c'est un peu plus compliqué.

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