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

    Общий рейтинг статьи: 0 (проголосовало 0 )
    Опубликовано:  [просмотров 383]


    Сборка 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 и внести требуемые правки.

     


    Обсуждение статьи

    Ваш комментарий: