Сборка Android-версии Linphone из исходных кодов

HELP-ME-24.COM (Freelance Team), Черноусов Антон

Сборка Android-версии Linphone немного отличается от сборки обычных gradlew-приложений, так как содержит несколько нативных компонентов.

Linphone - логотип

Скачайте Android-версию linphone из официального репозитория:

$ git https://github.com/BelledonneCommunications/linphone-android.git

Инициируем зависимости модулей:

$ git submodule sync && git submodule update --init --recursive

Подготовка и проверка к сборке выполняется запуском команды:

./prepare.py

Добавляем в ~/.bashrc пользователя модификаторы переменных окружения:

export PATH=$PATH:/home/chernousov/Android/Sdk/tools/export PATH=$PATH:/home/chernousov/Android/Sdk/ndk-bundle/

Для сборки linphone требуется старый NDK в противном случае получим ошибку:

ERROR: Unsupported Android NDK r14. Please install version r13.

Поэтому скачаем и его из архива (https://developer.android.com/ndk/downloads/older_releases.html), а пути path отредактируем с путем к старому NDK:

export PATH=$PATH:/home/chernousov/Android/Sdk/tools/export PATH=$PATH:/home/chernousov/Android/Sdk/android-ndk-r13b

Дополнительно для сборки Linphone требуется свежий cmake:

ERROR: You need at leat CMake version 3.7.

Скачиваем sh-инсталятор cmake:

# wget wget https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh# sh ./cmake-3.7.2-Linux-x86_64.sh --prefix=/opt/cmake

Проверяем установленную версию:

# /opt/cmake/cmake-3.7.2-Linux-x86_64/bin/cmake --version

Оставим для совместимости две версии cmake и настроим переключение через alternatives:

# /usr/bin/cmake --version

Скопируем старую версию:

# cp /usr/bin/cmake /usr/bin/cmake.old

Сделаем возможность выбора альтернатив:

# update-alternatives --install /usr/bin/cmake cmake /usr/bin/cmake.old 1 --force# update-alternatives --install /usr/bin/cmake cmake /opt/cmake/cmake-3.7.2-Linux-x86_64/bin/cmake 2 --force

Выбор текущей версии cmake можно осуществлять командой:

# update-alternatives --config cmake

Ну и естественно переменная ANDROID_HOME так же должна быть задана в ~/.bashrc, в противном случае поучаем ошибку:

> SDK location not found. Define location with sdk.dir in the local.properties file or
with an ANDROID_HOME environment variable.

Аналогично добавлению NDK добавляем в ~/.bashrc экспорт перменной:

export ANDROID_HOME=/home/chernousov/Android/Sdk/

Для сборки низкоуровневых компонентов потребуется компилятор ассемблера:

# aptitude install yasm

После выполнения операции ./prepare.py выполняем make и ждем завершения сборки приложения. По окончании сборки можно импортировать проект в Android Developer Studio и внести требуемые правки.

 

Оставьте комментарий

Вы должны быть вошедший в чтобы отправить комментарий