Quasar билд android приложения

Quasar билд android приложения

Мануал, для билда quasar + capasitor, для Android приложения.

Установите Android Studio.

Настройте переменные окружения:

Я добавил переменную ANDROID_HOME=path_to_android_sdk в переменные

Узнать где лежит path_to_android_sdk -

В Android Studio:

  1. Откройте Android Studio
  2. Перейдите в настройки:

    • Windows: File → Settings
    • macOS: Android Studio → Preferences

  3. Найдите Appearance & Behavior → System Settings → Android SDK
  4. Посмотрите поле "Android SDK Location" - это и есть ваш путь

Скорее всего тут - C:\Users\%USERNAME%\AppData\Local\Android\Sdk

В андроид студии скачал SDK для своего android 12 - Android 12.0 (S) API Level 31

Также необходимо позаботится о установке и настройке java:

Скачайте и установите OpenJDK 21

В переменных пользователя (как делали с ANDROID_HOME):

  1. JAVA_HOME:

    • Имя: JAVA_HOME
    • Значение: C:\Program Files\Eclipse Adoptium\jdk-21.x.x.x-hotspot (или другой путь где установлена Java)

  2. Обновите PATH:

    • Добавьте: %JAVA_HOME%\bin

Добавляем в приложение capasitor

quasar mode add capacitor
cd src-capacitor
npm install @capacitor/android

Добавляем платформу android

npx cap add android

Пытаемся сбилдить наше приложение:

quasar build -m capacitor -T android

После этого проект должен собраться в android приложение, но у меня при попытке его посмотреть даже в эмуляторе студии выпадала ошибка - INSTALL_PARSE_FAILED_NO_CERTIFICATES означает, что APK-файл, который вы пытаетесь установить, не подписан. Android требует, чтобы APK-файлы были подписаны цифровой подписью перед установкой, даже в эмуляторе. Это мера безопасности.

Чтобы подписать APK-файл, созданный вашим Quasar/Capacitor проектом, нужно выполнить два основных этапа: создать ключ (keystore) и подписать им APK. Вот пошаговая инструкция:

Шаг 1: Создание ключа (Keystore)

Keystore — это защищенный файл, содержащий ваши ключи подписи. Его нужно создать только один раз. Храните его в безопасном месте!

  1. Откройте командную строку (cmd) или PowerShell.
  2. Перейдите в удобную директорию, например, на рабочий стол или в папку проекта, где вы хотите хранить keystore. Используйте команду cd. Пример:

cd C:\keys


keytool -genkey -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

  1. Следуйте инструкциям в командной строке:
    • Введите пароль для keystore (помните его!).
    • Введите имя и фамилию (обычно используется имя организации или разработчика).
    • Введите название организации.
    • Введите город/район.
    • Введите двухбуквенный код страны (например, RU).
    • Подтвердите введённые данные (y/n).
    • Введите пароль для ключа (рекомендуется использовать тот же пароль, что и для keystore).
    • Подтвердите пароль.

    По завершению будет создан файл my-upload-key.keystore в той директории, где вы находились.

Шаг 2: Подписание APK

Теперь, когда у вас есть keystore, можно подписать APK с помощью инструментов Android SDK. Обычно используется zipalign и apksigner.

Подписание:

Найдите путь к установленным build-tools

Обычно находится в C:\Users\[ВАШЕ_ИМЯ_ПОЛЬЗОВАТЕЛЯ]\AppData\Local\Android\Sdk\build-tools\.

Внутри этой папки будет подпапка с номером версии (например, 34.0.0, 33.0.3, 35.0.0-rc3). Выберите актуальную версию.

Полный путь будет выглядеть примерно так: C:\Users\[ВАШЕ_ИМЯ_ПОЛЬЗОВАТЕЛЯ]\AppData\Local\Android\Sdk\build-tools\34.0.0\

"C:\Users\[ВАШЕ_ИМЯ_ПОЛЬЗОВАТЕЛЯ]\AppData\Local\Android\Sdk\build-tools\34.0.0\zipalign.exe" -v 4 app-release-unsigned.apk app-release-unsigned-aligned.apk

(Замените 34.0.0 на вашу версию build-tools и app-release-unsigned.apk на точное имя вашего файла, если оно отличается.)

Выполните apksigner, также указав полный путь:

"C:\Users\[ВАШЕ_ИМЯ_ПОЛЬЗОВАТЕЛЯ]\AppData\Local\Android\Sdk\build-tools\34.0.0\apksigner.bat" sign --ks C:\path\to\my-upload-key.keystore --out app-release-signed.apk app-release-unsigned-aligned.apk

Вас попросят ввести пароль от keystore (и, возможно, от ключа, если вы указали разные пароли).

Теперь у вас должен появиться подписанный файл app-release-signed.apk, который можно устанавливать на устройства или загружать в магазины.