# Docs ## Geo-blocking Some apps are specific to region. For example, `air.ITVMobilePlayer` is specifc to GB. If you try it from US, details will work, but delivery will fail: ~~~ > googleplay -a air.ITVMobilePlayer Title: ITV Hub: Your TV Player - Watch Live & On Demand UploadDate: Dec 9, 2021 VersionString: 9.19.0 VersionCode: 901900000 NumDownloads: 17.429 M Size: 35.625 MB Offer: 0.00 USD > googleplay -a air.ITVMobilePlayer -v 901900000 panic: Geo-blocking ~~~ It seems headers are ignored as well: ~~~ Accept-Language: es Accept-Language: es-AR Accept-Language: es-ES ~~~ You can change the country [1], and then you get expected result: ~~~ > googleplay -a air.ITVMobilePlayer Title: ITV Hub: Your TV Player - Watch Live & On Demand UploadDate: Dec 9, 2021 VersionString: 9.19.0 VersionCode: 901900000 NumDownloads: 17.429 M Size: 35.625 MB Offer: 0.00 GBP > googleplay -a air.ITVMobilePlayer -v 901900000 GET https://play.googleapis.com/download/by-token/download?token=AOTCm0TiBZQdp... ~~~ 1. https://support.google.com/googleplay/answer/7431675 ## How to determine required features? Use a command like this: ~~~ aapt dump badging file.apk ~~~ or check the `cmd/badging` folder. ## How to get device info? 1. https://play.google.com/store/apps/details?id=ru.andr7e.deviceinfohw 2. https://play.google.com/store/apps/details?id=flar2.devcheck ## How to get Protocol Buffer fields? Check Google Play Store (`com.android.vending`) with JADX, with the last working version (2016): ~~~ versionCode='80441400' versionName='6.1.14' ~~~ - https://apkmirror.com/apk/google-inc/google-play-store - https://github.com/MCMrARM/Google-Play-API/blob/master/proto/gsf.proto ## How to install Android App Bundle? Bash: ~~~ adb install-multiple *.apk ~~~ PowerShell: ~~~ adb install-multiple (Get-ChildItem *.apk) ~~~ https://developer.android.com/guide/app-bundle/app-bundle-format ## How to install expansion file? ~~~ adb shell mkdir -p /sdcard/Android/obb/com.PirateBayGames.ZombieDefense2 adb push main.41.com.PirateBayGames.ZombieDefense2.obb ` /sdcard/Android/obb/com.PirateBayGames.ZombieDefense2/ ~~~ https://developer.android.com/google/play/expansion-files ## INSTALL\_FAILED\_NO\_MATCHING\_ABIS This can happen when trying to install ARM app on `x86`. If the APK is `armeabi-v7a`, then Android 9 (API 28) will work. Also the emulator should be `x86`. If the APK is `arm64-v8a`, then Android 11 (API 30) will work. Also the emulator should be `x86_64`. - https://android.stackexchange.com/questions/222094/install-failed - https://stackoverflow.com/questions/36414219/install-failed-no-matching-abis However note that this will still fail in some cases: https://issuetracker.google.com/issues/253778985 ## System Image API Level | Target ----------|----------------- 33 | Android Tiramisu 32 | Android 12L 31 | Android 12 30 | Android 11 29 | Android 10 28 | Android 9 27 | Android 8.1 26 | Android 8 25 | Android 7.1 24 | Android 7 23 | Android 6 22 | Android 5.1 ## Version history If you know the `versionCode`, you can get older APK [1]. Here is one from 2014: ~~~ googleplay -a com.google.android.youtube -v 5110 ~~~ but I dont know how to get the old version codes, other than looking at websites [2] that host the APKs. 1. https://android.stackexchange.com/questions/163181/how-to-download-old-app 2. https://apkmirror.com/uploads?appcategory=youtube