Компиляция VLC для Android Ubuntu

У меня проблемы с компиляцией VLC на Ubuntu. Я следовал этому руководству https://wiki.videolan.org/AndroidCompile/ Все шло гладко, когда это проблема возникла, когда я попытался запустить приложение из студии Android

Ошибка: не удалось выполнить задачу ':libvlc:buildDebugARMv5'. Процесс 'command' ./compile-libvlc.sh'' завершен с ненулевым выходным значением 1

Вместе с сообщением о том, что

Вам нужен NDKv10 или более поздняя версия

Моя версия NDK — android-ndk-r10e, самая последняя. Мои пути NDK и SDK установлены в среде, так как я проверил их с помощью эха.

Если я попытаюсь скомпилировать из терминала

areeb@areeb:~/android$ sh compile.sh -a armeabi-v7a
VLC source found
Configuring
You need the NDKv10 or later
areeb@areeb:~/android$ 

Надеюсь, кто-нибудь сталкивался с этим и превзошел это. Заранее спасибо.


person Areeb gillani    schedule 08.10.2015    source источник


Ответы (3)


Мне удалось решить проблему. Проблема в том, что если мы следуем руководству по компиляции VLC для Android, когда они просят установить ANDROID_NDK, строка записывается примерно так:

экспорт ANDROID_NDK=/путь/к/android-ndk

Это означает, что вы должны экспортировать как

экспорт ANDROID_NDK=$HOME/путь/к/android-ndk

Если вы сделаете так, все будет хорошо.

person Areeb gillani    schedule 14.10.2015

Я тоже сталкиваюсь с этой проблемой. В моем случае мне ничего не помогло (я проверил свои пути к SDK/NDK и даже проверил, что мои NDK/SDK не повреждены, проверив MD5), поэтому я решил изменить compile.sh следующим образом:

# try to detect NDK version
#EL=$(grep -o '^r[0-9]*.*' $ANDROID_NDK/RELEASE.TXT 2>/dev/null|cut -b2-)
#case "$REL" in
#    10*)
    if [ "${HAVE_64}" = 1 ];then
        ANDROID_API=android-21
        GCCVER=4.9
    else
        ANDROID_API=android-9
        GCCVER=4.8
    fi
#    ;;
#    *)
#        echo "You need the NDKv10 or later"
#        exit 1
#    ;;
#esac

Как видите, я только что прокомментировал эту проверку версии NDK (в строке ~280). Я знаю, что это совсем не лучший способ, но, по крайней мере, я смог запустить сборку.

person Paul Freez    schedule 12.10.2015
comment
Я сам делаю то же самое, но это приводит к неуправляемым зависимостям, например, сейчас я застрял на make: *** [.fribidi] Error 77 make: *** [.a52] Error 77, и ошибка в файле журнала — ошибка : не могу найти -lgnustl_static - person Areeb gillani; 14.10.2015
comment
@Areebgillani, какую версию Linux вы используете для компиляции VLC? Вы запустили обновление apt-get перед тем, как начать? Вы установили все необходимые пакеты из раздела «Требования» из руководства? - person Paul Freez; 14.10.2015

Если у вас уже установлена ​​последняя версия, но отображается сообщение типа

Вам нужен NDKv11 или более поздняя версия

Вы можете перейти к файлу compile-libvlc.sh.Change from

REL=$(grep -o '^Pkg.Revision.[0-9].' $ANDROID_NDK/source.properties |cut -d " " -f 3 | cut -d " ." -f 1) case "$REL" в 11)

to

REL=$(grep -o '^Pkg.Revision.[0-9].' $ANDROID_NDK/source.properties |cut -d " " -f 3 | cut -d " ." -f 1) case "$REL" в 12)

Единственное изменение 11* на 12*

Это фактически решило мою проблему. Если вы опасаетесь, что у вас возникнут проблемы с новой версией, загрузите любую версию, которую запрашивают. Вот она

v11

person Sarath Krrish    schedule 22.07.2016