Skip to content

Instantly share code, notes, and snippets.

@iegik
Last active February 19, 2025 23:46
Show Gist options
  • Save iegik/226018ab779ce603e95be0f3bb4709cd to your computer and use it in GitHub Desktop.
Save iegik/226018ab779ce603e95be0f3bb4709cd to your computer and use it in GitHub Desktop.
Android

Команды перезагрузки в режим прошивки (bootloader)

Перезагрузка 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.

Flashing

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!)

ADB

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

  • INSTALL_FAILED_USER_RESTRICTED - Turn On "Install via USB"

  • INSTALL_FAILED_UPDATE_INCOMPATIBLE - 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 permissions

  • Network Response Timeout

adb -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

Install Play Store

  1. Download a Open GApps zip file from the site.
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
  1. Start emulator in write mode
$ANDROID_HOME/tools/emulator @... -writable-system &
  1. Install packages
$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
  1. Restart
$ANDROID_HOME/platform-tools/adb shell stop
$ANDROID_HOME/platform-tools/adb shell start
  1. Stop the emulator and start it again in write mode (2.).
  2. Then, stop it and start it again normally.
$ANDROID_HOME/tools/emulator @... &

Works on Android Pie

  • 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

-https://www.jenv.be/-

For React Native apps use OpenJDK (AdoptOpenJDK/Eclipse Adoptium)

brew install openjdk@11

  • Why?: OpenJDK is the open-source reference implementation of the Java platform, and AdoptOpenJDK (now part of Eclipse Adoptium) provides well-maintained, free builds of OpenJDK. It’s widely used in the development community, including for Android development, which is integral to React Native.
  • Version: For React Native, Java 11 is typically recommended. It's compatible with Android development tools, and AdoptOpenJDK provides long-term support (LTS) versions, making it a stable choice.
  • Ease of Setup: AdoptOpenJDK is easy to install and integrate with Android Studio, which is often used alongside React Native for Android development.

Ruby

Version LTS
ruby-3.4.0 RC
ruby-3.3.4 latest
ruby-3.1.6 LTS
ruby-3.0.7 EOL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment