android - studio - como pasar aplicaciones de un celular a otro por bluetooth
Android: ¿Cómo encontrar a qué versión de plataforma apunta un APK? (12)
Puede ejecutar el siguiente comando para obtener el nivel de API (entero):
aapt dump badging "your_apk.apk" | awk ''/targetSdkVersion/{gsub("targetSdkVersion:''''|''''",""); print $1}''
La salida que obtendrás será la siguiente, en caso de que haya sido compilada contra KitKat (API 19):
19
PS: aapt se encuentra en la carpeta <Android-Sdk>/build-tools/<build-tools-version>/
.
Dado un APK, ¿es posible determinar a qué versión de plataforma Android se dirige?
Puede extraer la APK y buscar en el archivo de manifiesto el objetivo de la plataforma.
Puede usar apkanalyzer, está incluido en las herramientas del SDK de Android, más información aquí https://developer.android.com/studio/command-line/apkanalyzer
Imprime la versión mínima del SDK.
apkanalyzer -h manifest min-sdk myapk.apk
Imprime la versión del SDK de destino
apkanalyzer -h manifest target-sdk myapk.apk
Puedes usar http://www.javadecompilers.com/apk para completar el archivo apk y lo puedes encontrar en Mandifest
Si desea encontrar esta información desde su dispositivo móvil, puede instalar la aplicación My APK que le brinda buena información sobre las aplicaciones. Puede obtenerla en https://play.google.com/store/apps/details?id=com.andatsoft.myapk.fwa&hl=en
La aplicación sobre la que desea tener esta información debe estar instalada en su dispositivo móvil o debe tener la aplicación apk en su dispositivo móvil.
Si está utilizando Nautilus, puede agregar un proveedor de columnas y un proveedor de páginas de propiedades para los archivos APK. Esto proporcionará una gran cantidad de información, incluyendo SdkVersion.
Los pasos se explican en este enlace: http://bernaerts.dyndns.org/linux/76-gnome/324-gnome-nautilus-apk-column-property-provider-extension
Aclamaciones.
Si lo desea, intente usar la clase PackageManager programación:
public PackageManager getPackageArchiveInfo(String archiveFilePath, int flags)
luego lea el campo ApplicationInfo y targetSdkVersion en él;
Si no tienes grep, puedes usar
aapt list -a package.apk >file.txt
y busque minSdkVersion y targetSdkVersion en file.txt.
Utilice aapt
:
aapt list -a package.apk | grep SdkVersion
Verás números de versión en hexadecimal. p.ej:
A: android:minSdkVersion(0x0101020c)=(type 0x10)0x3
A: android:targetSdkVersion(0x01010270)=(type 0x10)0xc
Para esta apk, minSdkVersion
es 0x3
ie 3, y targetSdkVersion
es 0xc
ie 12.
Utilizar apktool
java -jar apktool.jar d app.apk
Luego busque en el archivo apktool.yml generado por esto:
sdkInfo:
minSdkVersion: ''11''
targetSdkVersion: ''17''
Puede hacer coincidir la versión SDK con la versión de Android here . En el ejemplo anterior, la versión mínima de Android es 3.0 y la versión de destino es 4.2.
simplemente use aapt dump badging my_apk_file.apk
para obtener mucha información sobre su apk. filtro grep por la versión aapt dump badging my_apk_file.apk|grep Version
Salida
sdkVersion:''9''
targetSdkVersion:''24''