Étant donné un APK, est-il possible de déterminer quelle version de la plate-forme Android il cible ?
aapt
est disponible en sdk\build-tools\XX.X.X
.
Étant donné un APK, est-il possible de déterminer quelle version de la plate-forme Android il cible ?
Utilisez aapt
:
aapt list -a package.apk | grep SdkVersion
Vous verrez les numéros de version en hexagone, par exemple :
A: android:minSdkVersion(0x0101020c)=(type 0x10)0x3
A: android:targetSdkVersion(0x01010270)=(type 0x10)0xc
Pour cet apk, minSdkVersion
es 0x3
c'est-à-dire 3, et targetSdkVersion
es 0xc
c'est-à-dire 12.
La réponse de @Thupten dit d'utiliser aapt dump badging
au lieu de aapt list -a
qui donne une sortie plus lisible.
Existe-t-il un moyen d'utiliser cet outil pour savoir quelle architecture est prise en charge ? par exemple, x86 ou arm.
Utilisez apktool
java -jar apktool.jar d app.apk
Regardez ensuite dans le fichier apktool.yml généré pour cela :
sdkInfo:
minSdkVersion: '11'
targetSdkVersion: '17'
Vous pouvez faire correspondre la version du SDK à la version d'Android. aquí . Dans l'exemple ci-dessus, la version minimale d'Android est 3.0 et la version cible est 4.2.
Utilisez simplement aapt dump badging my_apk_file.apk
pour obtenir beaucoup d'informations sur votre apk. grep filtre par Version aapt dump badging my_apk_file.apk|grep Version
Sortie avec $ANDROID_SDK_ROOT/build-tools/30.0.3/aapt :
package: name=... versionCode=... versionName=... compileSdkVersion='29' compileSdkVersionCodename='10'
sdkVersion:'11'
targetSdkVersion:'29'
L'apk de toute application installée $app
(par exemple com.google.Android.apps.docs ) peuvent être récupérés sur votre appareil avec :
adb pull $(adb shell dumpsys package $app | grep path: | cut -c11-) $app.apk
Vous pouvez utiliser apkanalyzer, il est inclus dans les outils Android SDK, plus d'infos ici. https://developer.Android.com/studio/command-line/apkanalyzer
Imprime la version minimale du SDK.
apkanalyzer -h manifest min-sdk myapk.apk
Imprime la version du SDK cible
apkanalyzer -h manifest target-sdk myapk.apk
Le manifeste n'est pas lisible par l'homme après avoir été compilé. Vous devrez peut-être utiliser un outil pour en extraire les valeurs.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.