Skip to content

Instantly share code, notes, and snippets.

@gotbletu
Last active February 3, 2019 07:24
Show Gist options
  • Save gotbletu/05b9017fd4893e2c12817d1a8cfa17b5 to your computer and use it in GitHub Desktop.
Save gotbletu/05b9017fd4893e2c12817d1a8cfa17b5 to your computer and use it in GitHub Desktop.
apkversion, display android system requirements (minimum version to target version) of the apk file
alias aapt="/opt/android-sdk/build-tools/28.0.3/aapt"
apkversion() {
if [ $# -lt 1 ]; then
echo -e "display android system requirements (minimum version to target version) of the apk file"
echo -e "\nUsage: $0 <filename>"
echo -e "\nExample:\n$0 file.apk"
echo -e "$0 file1.apk file2.apk file3.apk"
echo -e "$0 *.apk"
echo -e "\nrequirement:\nhttps://aur.archlinux.org/packages/android-sdk-build-tools/"
echo -e "https://developer.android.com/studio/releases/build-tools"
return 1
fi
myArray=( "$@" )
for arg in "${myArray[@]}"; do
sdkVersion=$(aapt dump badging "$arg" | grep sdkVersion)
targetSdkVersion=$(aapt dump badging "$arg" | grep targetSdkVersion)
# https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels
# minimum version
if [ "$sdkVersion" = "sdkVersion:'28'" ] ; then echo "$arg --> Minimum Version = Android 9 (P)" ; fi
if [ "$sdkVersion" = "sdkVersion:'27'" ] ; then echo "$arg --> Minimum Version = Android 8.1 (O_MR1)" ; fi
if [ "$sdkVersion" = "sdkVersion:'26'" ] ; then echo "$arg --> Minimum Version = Android 8.0 (O)" ; fi
if [ "$sdkVersion" = "sdkVersion:'25'" ] ; then echo "$arg --> Minimum Version = Android 7.1, 7.1.1 (N_MR1)" ; fi
if [ "$sdkVersion" = "sdkVersion:'24'" ] ; then echo "$arg --> Minimum Version = Android 7.0 (N)" ; fi
if [ "$sdkVersion" = "sdkVersion:'23'" ] ; then echo "$arg --> Minimum Version = Android 6.0 (M)" ; fi
if [ "$sdkVersion" = "sdkVersion:'22'" ] ; then echo "$arg --> Minimum Version = Android 5.1 (LOLLIPOP_MR1)" ; fi
if [ "$sdkVersion" = "sdkVersion:'21'" ] ; then echo "$arg --> Minimum Version = Android 5.0 (LOLLIPOP)" ; fi
if [ "$sdkVersion" = "sdkVersion:'20'" ] ; then echo "$arg --> Minimum Version = Android 4.4W (KITKAT_WATCH)" ; fi
if [ "$sdkVersion" = "sdkVersion:'19'" ] ; then echo "$arg --> Minimum Version = Android 4.4 (KITKAT)" ; fi
if [ "$sdkVersion" = "sdkVersion:'18'" ] ; then echo "$arg --> Minimum Version = Android 4.3 (JELLY_BEAN_MR2)" ; fi
if [ "$sdkVersion" = "sdkVersion:'17'" ] ; then echo "$arg --> Minimum Version = Android 4.2, 4.2.2 (JELLY_BEAN_MR1)" ; fi
if [ "$sdkVersion" = "sdkVersion:'16'" ] ; then echo "$arg --> Minimum Version = Android 4.1, 4.1.1 (JELLY_BEAN)" ; fi
if [ "$sdkVersion" = "sdkVersion:'15'" ] ; then echo "$arg --> Minimum Version = Android 4.0.3, 4.0.4 (ICE_CREAM_SANDWICH_MR1)" ; fi
if [ "$sdkVersion" = "sdkVersion:'14'" ] ; then echo "$arg --> Minimum Version = Android 4.0, 4.0.1, 4.0.2 (ICE_CREAM_SANDWICH)" ; fi
if [ "$sdkVersion" = "sdkVersion:'13'" ] ; then echo "$arg --> Minimum Version = Android 3.2 (HONEYCOMB_MR2)" ; fi
if [ "$sdkVersion" = "sdkVersion:'12'" ] ; then echo "$arg --> Minimum Version = Android 3.1.x (HONEYCOMB_MR1)" ; fi
if [ "$sdkVersion" = "sdkVersion:'11'" ] ; then echo "$arg --> Minimum Version = Android 3.0.x (HONEYCOMB)" ; fi
if [ "$sdkVersion" = "sdkVersion:'10'" ] ; then echo "$arg --> Minimum Version = Android 2.3.3, 2.3.4 (GINGERBREAD_MR1)" ; fi
if [ "$sdkVersion" = "sdkVersion:'9'" ] ; then echo "$arg --> Minimum Version = Android 2.3, 2.3.1, 2.3.2 (GINGERBREAD)" ; fi
if [ "$sdkVersion" = "sdkVersion:'8'" ] ; then echo "$arg --> Minimum Version = Android 2.2.x (FROYO)" ; fi
if [ "$sdkVersion" = "sdkVersion:'7'" ] ; then echo "$arg --> Minimum Version = Android 2.1.x (ECLAIR_MR1)" ; fi
if [ "$sdkVersion" = "sdkVersion:'6'" ] ; then echo "$arg --> Minimum Version = Android 2.0.1 (ECLAIR_0_1)" ; fi
if [ "$sdkVersion" = "sdkVersion:'5'" ] ; then echo "$arg --> Minimum Version = Android 2.0 (ECLAIR)" ; fi
if [ "$sdkVersion" = "sdkVersion:'4'" ] ; then echo "$arg --> Minimum Version = Android 1.6 (DONUT)" ; fi
if [ "$sdkVersion" = "sdkVersion:'3'" ] ; then echo "$arg --> Minimum Version = Android 1.5 (CUPCAKE)" ; fi
if [ "$sdkVersion" = "sdkVersion:'2'" ] ; then echo "$arg --> Minimum Version = Android 1.1 (BASE_1_1)" ; fi
if [ "$sdkVersion" = "sdkVersion:'1'" ] ; then echo "$arg --> Minimum Version = Android 1.0 (BASE)" ; fi
# target version
if [ "$targetSdkVersion" = "targetSdkVersion:'28'" ] ; then echo "$arg --> Target Version = Android 9 (P)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'27'" ] ; then echo "$arg --> Target Version = Android 8.1 (O_MR1)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'26'" ] ; then echo "$arg --> Target Version = Android 8.0 (O)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'25'" ] ; then echo "$arg --> Target Version = Android 7.1, 7.1.1 (N_MR1)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'24'" ] ; then echo "$arg --> Target Version = Android 7.0 (N)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'23'" ] ; then echo "$arg --> Target Version = Android 6.0 (M)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'22'" ] ; then echo "$arg --> Target Version = Android 5.1 (LOLLIPOP_MR1)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'21'" ] ; then echo "$arg --> Target Version = Android 5.0 (LOLLIPOP)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'20'" ] ; then echo "$arg --> Target Version = Android 4.4W (KITKAT_WATCH)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'19'" ] ; then echo "$arg --> Target Version = Android 4.4 (KITKAT)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'18'" ] ; then echo "$arg --> Target Version = Android 4.3 (JELLY_BEAN_MR2)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'17'" ] ; then echo "$arg --> Target Version = Android 4.2, 4.2.2 (JELLY_BEAN_MR1)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'16'" ] ; then echo "$arg --> Target Version = Android 4.1, 4.1.1 (JELLY_BEAN)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'15'" ] ; then echo "$arg --> Target Version = Android 4.0.3, 4.0.4 (ICE_CREAM_SANDWICH_MR1)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'14'" ] ; then echo "$arg --> Target Version = Android 4.0, 4.0.1, 4.0.2 (ICE_CREAM_SANDWICH)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'13'" ] ; then echo "$arg --> Target Version = Android 3.2 (HONEYCOMB_MR2)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'12'" ] ; then echo "$arg --> Target Version = Android 3.1.x (HONEYCOMB_MR1)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'11'" ] ; then echo "$arg --> Target Version = Android 3.0.x (HONEYCOMB)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'10'" ] ; then echo "$arg --> Target Version = Android 2.3.3, 2.3.4 (GINGERBREAD_MR1)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'9'" ] ; then echo "$arg --> Target Version = Android 2.3, 2.3.1, 2.3.2 (GINGERBREAD)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'8'" ] ; then echo "$arg --> Target Version = Android 2.2.x (FROYO)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'7'" ] ; then echo "$arg --> Target Version = Android 2.1.x (ECLAIR_MR1)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'6'" ] ; then echo "$arg --> Target Version = Android 2.0.1 (ECLAIR_0_1)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'5'" ] ; then echo "$arg --> Target Version = Android 2.0 (ECLAIR)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'4'" ] ; then echo "$arg --> Target Version = Android 1.6 (DONUT)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'3'" ] ; then echo "$arg --> Target Version = Android 1.5 (CUPCAKE)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'2'" ] ; then echo "$arg --> Target Version = Android 1.1 (BASE_1_1)" ; fi
if [ "$targetSdkVersion" = "targetSdkVersion:'1'" ] ; then echo "$arg --> Target Version = Android 1.0 (BASE)" ; fi
done
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment