2019년 5월 14일 화요일

Kodi build (android) on ubuntu 18.04

Kodi 안드로이드 빌드 방법 항목들을 꼼꼼하게 확인하여 진행하면 됩니다.

처음에는 Ubuntu 14.04에서 빌드를 시도하였으나,
gcc 4.8.4 에서는 문제가 있음을 발견하고 중단.

Ubuntu 18.04, gcc 7.4.0 에서 arm 버전으로 빌드 성공. 나중에 aarch64 버전도 빌드 해보자.

'openjdk-8'이 이미 설치된 상태라 필요하지 않을 것 같아서 기본 패키지 install에서 default-jdk 는 제외하였음.

아래 패키지를 추가로 설치. 이 중에 불필요한 것도 있을 것 같은데, 귀찮아서 정리 포기. -_-;;
sudo apt install freeglut3-dev
sudo apt install libfftw3-dev libwxgtk3.0-dev libpulse-dev
sudo apt install libegl1-mesa-dev

2019년 5월 14일 기준으로 반드시 NDK 18 버전 사용할 것. 이것때문에 많이 해맸음.
최신버전을 사용하니 이런 저런 에러가 많았음.
기본 다운로드사이트에서는 해당 버전이 보이지 않아서 추가 검색해서 찾았음.
https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip

사용한 Android SDK - 문서에 나온것과 동일함.
sdk-tools-linux-4333796.zip

이하는 개인적인 백업정보이니 보지 않으셔도 됩니다.
gperf 패키지는 libcap-2.22 빌드(회사 프로젝트)와 충돌이 일어나기 때문에 사용 후에 지워야 한다.
sudo apt remove gperf

아래는 제 환경에 맞추어서 변경한 명령어.
/mnt/tos/android

mkdir -p /mnt/tos/android/android-tools/android-sdk-linux
unzip sdk-tools-linux-4333796.zip -d /mnt/tos/android/android-tools/android-sdk-linux

unzip android-ndk-r18b-linux-x86_64.zip -d /mnt/tos/android/android-tools

cd /mnt/tos/android/android-tools/android-ndk-r18b/build/tools
./make-standalone-toolchain.sh --install-dir=/mnt/tos/android/android-tools/aarch64-linux-android-vanilla/android-21 --platform=android-21 --toolchain=aarch64-linux-android

./make-standalone-toolchain.sh --install-dir=/mnt/tos/android/android-tools/arm-linux-androideabi-vanilla/android-21 --platform=android-21 --toolchain=arm-linux-androideabi

keytool -genkey -keystore ~/.android/debug.keystore -v -alias androiddebugkey -dname "CN=Android Debug,O=Android,C=US" -keypass android -storepass android -keyalg RSA -keysize 2048 -validity 10000

git clone https://github.com/xbmc/xbmc kodi

cd /mnt/tos/android/kodi/tools/depends
./bootstrap
./configure --with-tarballs=/mnt/tos/android/android-tools/xbmc-tarballs --host=aarch64-linux-android --with-sdk-path=/mnt/tos/android/android-tools/android-sdk-linux --with-ndk-path=/mnt/tos/android/android-tools/android-ndk-r18b --with-toolchain=/mnt/tos/android/android-tools/aarch64-linux-android-vanilla/android-21 --prefix=/mnt/tos/android/android-tools/xbmc-depends

./configure --with-tarballs=/mnt/tos/android/android-tools/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=/mnt/tos/android/android-tools/android-sdk-linux --with-ndk-path=/mnt/tos/android/android-tools/android-ndk-r18b --with-toolchain=/mnt/tos/android/android-tools/arm-linux-androideabi-vanilla/android-21 --prefix=/mnt/tos/android/android-tools/xbmc-depends

make -j$(getconf _NPROCESSORS_ONLN)

cd /mnt/tos/android/kodi
make -C tools/depends/target/cmakebuildsys
cd /mnt/tos/android/kodi/build
make -j$(getconf _NPROCESSORS_ONLN)

댓글 없음:

댓글 쓰기

dpkg - 우분투(데비안) 패키지 관리 프로그램

dpkg는 데비안 패키지 관리 시스템의 기초가 되는 소프트웨어로서, .deb 패키지의 설치, 삭제, 정보 제공을 위해 사용되는 명령어입니다. dpkg 자체는 APT 등과 같은 고급 도구에 비해 낮은 레벨의 도구이며 복잡한 패키지 관계와 패키지를 원격에...