Skip to main content

Як скомпілювати версію для Android

Android SDK: Мінімальна версія SDK: 21 Цільова версія SDK: 29 Інструменти цільового SDK: 29

Android NDK: 23.

Скомпілювати Android apk

  1. Спочатку налаштуйте середовище розробки.
  2. Gradle (командний рядок):
    • Вкажіть змінні середовища. ANDROID_SDK та ANDROID_HOME – це місця, де Android Studio розміщує файли:
    export ANDROID_SDK=/[your-path]/Android/sdk
    export ANDROID_NDK=/[your-path]/android-ndk-23
    export ANDROID_HOME=/[your-path]/Android/sdk
    • Скомпілюйте за допомогою командного рядка
    cd android/OsmAnd && ../gradlew assembleNightlyFreeLegacyFatDebug
  3. Android Studio:
import android project and run module flavor `android.OsmAnd`
  1. Ви можете використовувати наш debug.keystore, щоб зробити збірки сумісними з нічною збіркою.

Завдання / варіанти Gradle

Завдання Gradle assembleNightlyFreeLegacyFatDebug створить apk у android/OsmAnd/build/outputs/apk/ nightlyFreeLegacyFat/debug/OsmAnd-nightlyFree-legacy-fat-debug.apk. Назва завдання assembleNightlyFreeLegacyFatDebug складається з:

  • assemble - стандартне завдання для створення apk
  • nightlyFree - варіант збірки, описаний нижче
  • legacy - legacy / opengl / opengldebug - визначає, чи буде створений apk мати нативні бібліотеки для використання рендерингу карти opengl чи ні. Більше інформації в плагіні розробки OsmAnd.
  • fat - fat (усі нативні цілі) / armv7 / arm64 / x86 / armonly - виберіть, які нативні бібліотеки будуть всередині apk.
  • debug - debug / release - стандартне завдання

Щоб створити пакет, ви можете використовувати bundle${FLAVOR}LegacyFatRelease.

ВаріантПакетОпис
nightlyFreenet.osmand.devНічна безкоштовна збірка, яку можна встановити поруч з обома версіями GPlay для тестування та дослідження
androidFullnet.osmand.plusПовна версія OsmAnd~ може використовуватися для збірок F-Droid. Не використовує сервіси GooglePlay.
gplayFreenet.osmandВерсія OsmAnd для Google Play - використовує сервіси GooglePlay.
gplayFullnet.osmand.plusВерсія OsmAnd+ для Google Play - використовує сервіси GooglePlay.
huaweinet.osmandСпеціальна збірка для ринку Huawei - використовує сервіси Huawei, але не Google Play

Налагодження

Увімкнути налагодження NDK для застарілої нативної бібліотеки (OsmAnd-core-legacy)

У OsmAnd/OsmAnd/jni/Application.mk розкоментуйте рядки

APP_OPTIM := debug
APP_DEBUG := true

Додайте символи налагодження в конфігурацію проекту Android Studio. Для цього перейдіть до Edit Configuration / у лівому меню виберіть Android App "OsmAnd" / у правій частині виберіть вкладку "Debugger". І додайте OsmAnd/obj/local, де створюються бібліотеки для різних конфігурацій (arm64-v8a, armeabi-v7a, x86, x86_64).

Скомпілювати бібліотеку OpenGL

Бібліотека Opengl потрібна для таких цілей, як assembleNightlyFreeOpenglFatDebug, і за замовчуванням завантажується з репозиторію OsmAnd ivy - завдання gradle. Для локальної розробки вам може знадобитися скомпілювати ці бібліотеки та опублікувати їх у локальному репозиторії ivy.

  1. Спочатку налаштуйте середовище розробки, див. середовище розробки.
  2. Встановіть інструменти.
    • Android SDK - 29.
    • Android NDK - 23.
    • CMake > 3.6 (cmake -version).
    • SWIG - 4.1.1 (або сумісний).
    • Локальний компілятор c++ (бажано clang).
    • Інструменти Bash: wget, curl, python ...
  3. Gradle (командний рядок):
    • Вкажіть змінні середовища. ANDROID_SDK та ANDROID_HOME – це місця, де Android Studio розміщує файли:
    export ANDROID_SDK=/[your-path]/Android/sdk
    export ANDROID_NDK=/[your-path]/android-ndk-23
    export ANDROID_HOME=/[your-path]/Android/sdk
    cd core/wrappers/android && ../gradlew build

Підказка: Компіляція може зайняти багато часу, і вам, ймовірно, не потрібні всі платформи, тому ви можете закоментувати небажані архітектури в скрипті та зібрати лише для 1 платформи (x86, x86_64, arm, arm64) налагодження або випуску.

Налагодження

Буде доповнено: як налаштувати налагодження Android ndk.

Скомпілювати приклади API

🚧 This article is incomplete

This article is incomplete & needs to be reviewed. You can help by creating a pull request.

OsmAnd надає 2 типи прикладів додатків, усі вони представлені в репозиторії Github osmand-api-demo та регулярно компілюються на OsmAnd Builder.

Скрипт компіляції:

(cd OsmAnd-api-sample && ./gradlew clean assembleRelease)
(cd OsmAnd-map-sample && ./gradlew clean assembleRelease)

Докладніше.