Android
connect via TCP/IP
adb -s <device_name> tcpip 5555
shell
adb -s <device_name> shell
List third-party packages
adb shell pm list packages -3
adb shell cmd package list packages -3
List permissions of the app
adb shell dumpsys package <packagename>
Run application
am start -n <package-name>/<package-name>.MainActivity
Run commmand beside app permissions
run-as <package-name> <command>
Problems
adb install -r -t -d <apk>
-r: replace existing application
-t: allow test packages
-d: allow version code downgrade (debuggable packages only)
-p: partial application install (install-multiple only)
-g: grant all runtime permissionsadb -s <device name> reverse tcp:8081 tcp:8081
adb -s <device name> reverse --remove-all
5.1.1
permission:android.permission.ACCESS_COARSE_LOCATION
permission:android.permission.ACCESS_FINE_LOCATION
permission:android.permission.ACCESS_MOCK_LOCATION
permission:android.permission.AUTHENTICATE_ACCOUNTS
permission:android.permission.BLUETOOTH
permission:android.permission.BLUETOOTH_ADMIN
permission:android.permission.CALL_PHONE
permission:android.permission.CAMERA
permission:android.permission.CHANGE_WIFI_MULTICAST_STATE
permission:android.permission.CHANGE_WIFI_STATE
permission:android.permission.CHANGE_WIMAX_STATE
permission:android.permission.CLEAR_APP_CACHE
permission:android.permission.DISABLE_KEYGUARD
permission:android.permission.INTERNET
permission:android.permission.LGT_CONTENTS
permission:android.permission.MANAGE_ACCOUNTS
permission:android.permission.NFC
permission:android.permission.NFC_TRANSACTION
permission:android.permission.PROCESS_OUTGOING_CALLS
permission:android.permission.READ_CALENDAR
permission:android.permission.READ_CALL_LOG
permission:android.permission.READ_CELL_BROADCASTS
permission:android.permission.READ_CONTACTS
permission:android.permission.READ_PHONE_STATE
permission:android.permission.READ_PROFILE
permission:android.permission.READ_SMS
permission:android.permission.READ_SOCIAL_STREAM
permission:android.permission.READ_USER_DICTIONARY
permission:android.permission.RECEIVE_MMS
permission:android.permission.RECEIVE_SECURITY_SMS
permission:android.permission.RECEIVE_SMS
permission:android.permission.RECEIVE_WAP_PUSH
permission:android.permission.RECORD_AUDIO
permission:android.permission.SEND_SMS
permission:android.permission.SUBSCRIBED_FEEDS_WRITE
permission:android.permission.SYSTEM_ALERT_WINDOW
permission:android.permission.USE_CREDENTIALS
permission:android.permission.USE_SIP
permission:android.permission.WRITE_CALENDAR
permission:android.permission.WRITE_CALL_LOG
permission:android.permission.WRITE_CONTACTS
permission:android.permission.WRITE_EXTERNAL_STORAGE
permission:android.permission.WRITE_PROFILE
permission:android.permission.WRITE_SMS
permission:android.permission.WRITE_SOCIAL_STREAM
Перезагрузка Android в режим загрузки (bootloader), данная команда работает если устройство включено в обычном режиме:
adb reboot bootloader
Перезагрузка Android в обычный режим из режима прошивки (bootloader):
fastboot reboot
Перезагрузка Android из режима прошивки (bootloader) в этот же режим:
fastboot reboot-bootloader
Команда «видит» ли ПК ваш Android
Возьмите в привычку проверять перед тем как что-то делать в Fastboot если соединение между компьютером и Android:
Проверка «видит ли» ПК ваш Android:
fastboot devices
Данную команду выполнять когда устройство уже в режиме прошивке (bootloader)Прошить Android с помощью FastBoot
Команды разблокировки и блокировки загрузчика Nexus
Разлочить bootloader для Nexus:
fastboot oem unlock
или
fastboot flashing unlock
Залочить bootloader для Nexus:
fastboot oem lock
Команда узнать версию bootloader
Покажет установленную на Android номер версии бутлоадер:
fastboot getvar version-bootloader
Команды форматирования раздела
Перед тем как прошить какой либо раздел в Android, вначале его необходимо отформатировать для того чтобы не возникло проблем в работе fastboot erase Imya_razdela — стереть раздел: boot, radio, recovery, system, userdata и другие.
Стирает раздел Кеш (Cache):
fastboot erase cache
Стирает раздел Дата (Data/UserData):
fastboot erase userdata
или
fastbot -w
Стирает раздел Систем (System):
fastboot erase system
Стирает раздел Recovery:
fastboot erase recovery
dfastcach1
Команды для прошивки разделов Android
После того как выполнили форматирование раздела или разделов, можете приступить к прошивке:
fastboot flash Imya_razdela imya_file.img # прошивка выбранного раздела: boot, radio, recovery, system, userdata и другие.
Прошить раздел системы (System):
fastboot flash system imya.img
Прошить раздел кеш (Cache):
fastboot flash cache imya.img
Прошить раздел дата (Data):
fastboot flash userdata imya.img
Прошить раздел Recovery:
fastboot flash recovery imya.img
Прошить Android c помощью FastBoot
Установка анимации включения (прошивка раздела с анимацией):
fastboot flash splash1 splash.img
Прошить все разделы (boot, recovery и system):
fastboot flashall
Вместо imya.img — необходимо прописывать имя файла которые вы собираетесь прошить
Команда для установки update.zip
Прошивает на Android архив-обновление в формате update.zip или архив ZIP с IMG образами различных разделов:
fastboot update имя_файла.zip
Для устройств Sony
Проверка подключения устройства Sony, если ответ 0.3 устройство, то тогда подключено:
fastboot -i 0x0fce getvar version
Разблокировка bootloader
fastboot -i 0x0fce oem unlock 0xПолученый_Ключ
Более детальная информация по разблокировке Bootloader Sony — Как разблокировать Bootloader Sony
Ошибка Waiting for Device
Если у вас долгое время в командном окне горит надпись waiting for device — значит:
Не установлен или некорректно установлен драйвер — переустановить или установить Устройство Android не в режиме Bootloader — перевести Некорректное подключение к USB порту — использовать задние порты USB 2.0 компьютера, не использовать USB хабы Более подробно о данной ошибке «Waiting for Device» читайте в специальной посвященной этому статье Waiting for Device.
Enable root flag: ##7378423##
Unlock by IMAY: https://developer.sonymobile.com/unlockbootloader/
f that fails 1: Flash boot.img in fastboot & reboot into recovery 2 (optional): If the device is not booting, reboot to bootloader again and run: fastboot erase system fastboot erase userdata 3: Enter recovery, go to mounts and storage 4: Format /system, then /data and then /cache (Important step!)
Android 15 (beta)
Android 14 (stable)
targetSdk
will need to be 34+ for new apps and app updates by August 31, 2024.
Android 13 (LTS)
targetSdk
must be 33+ for new apps and app updates since August 31, 2023.
Android 12 (legacy)
targetSdk
31+
https://endoflife.date/android
Codename | Version | API level/NDK release | LTS |
---|---|---|---|
Vanilla Ice Cream | 15 | API level 35 | RC |
Updide Down Cake | 14 | API level 34 | latest |
Tiramisu | 13 | API level 33 | LTS |
Android12L | 12 | API level 32 | legacy |
Android12 | 12 | API level 31 | |
Android11 | 11 | API level 30 | |
Android10 | 10 | API level 29 | |
Pie | 9 | API level 28 | |
Oreo | 8.1.0 | API level 27 | |
Oreo | 8.0.0 | API level 26 | |
Nougat | 7.1 | API level 25 | |
Nougat | 7.0 | API level 24 | |
Marshmallow | 6.0 | API level 23 | |
Lollipop | 5.1 | API level 22 | |
Lollipop | 5.0 | API level 21 | |
KitKat | 4.4 - 4.4.4 | API level 19 | |
Jelly Bean | 4.3.x | API level 18 | |
Jelly Bean | 4.2.x | API level 17 | |
Jelly Bean | 4.1.x | API level 16 | |
Ice Cream Sandwich | 4.0.3 - 4.0.4 | API level 15, NDK 8 | |
Ice Cream Sandwich | 4.0.1 - 4.0.2 | API level 14, NDK 7 | |
Honeycomb | 3.2.x | API level 13 | |
Honeycomb | 3.1 | API level 12, NDK 6 | |
Honeycomb | 3.0 | API level 11 | |
Gingerbread | 2.3.3 - 2.3.7 | API level 10 | |
Gingerbread | 2.3 - 2.3.2 | API level 9, NDK 5 | |
Froyo | 2.2.x | API level 8, NDK 4 | |
Eclair | 2.1 | API level 7, NDK 3 | |
Eclair | 2.0.1 | API level 6 | |
Eclair | 2.0 | API level 5 | |
Donut | 1.6 | API level 4, NDK 2 | |
Cupcake | 1.5 | API level 3, NDK 1 | |
(no codename) | 1.1 | API level 2 | |
(no codename) | 1.0 | API level 1 |
Java
Codename | Version | LTS |
---|---|---|
Java 25 | 65 | RC |
Java 24 | 65 | |
Java 23 | 65 | |
Java 22 | 65 | latest |
Java 21 | 65 | LTS |
Java 20 | 64 | |
Java 19 | 63 | |
Java 18 | 62 | |
Java 17 | 61 | LTS |
Java 16 | 60 | |
Java 15 | 59 | |
Java 14 | 58 | |
Java 13 | 57 | |
Java 12 | 56 | |
Java 11 | 55 | LTS (preffered) |
Java 10 | 54 | |
Java 9 | 53 | |
Java 8 | 52 | EOL |
Java 7 | 51 | |
Java 6 | 50 | |
Java 5 | 49 |
For React Native apps use OpenJDK (AdoptOpenJDK/Eclipse Adoptium)
brew install openjdk@11
Ruby
Version | LTS |
---|---|
ruby-3.4.0 | RC |
ruby-3.3.4 | latest |
ruby-3.1.6 | LTS |
ruby-3.0.7 | EOL |
unzip open_gapps-*.zip 'Core/*'
rm Core/setup*
lzip -d Core/*.lz
for f in $(ls Core/*.tar); do
tar -x --strip-components 2 -f $f
done
$ANDROID_HOME/tools/emulator @... -writable-system &
$ANDROID_HOME/platform-tools/adb root
$ANDROID_HOME/platform-tools/adb remount
$ANDROID_HOME/platform-tools/adb push etc /system
$ANDROID_HOME/platform-tools/adb push framework /system
$ANDROID_HOME/platform-tools/adb push app /system
$ANDROID_HOME/platform-tools/adb push priv-app /system
$ANDROID_HOME/platform-tools/adb shell stop
$ANDROID_HOME/platform-tools/adb shell start
$ANDROID_HOME/tools/emulator @... &
Works on Android Pie