Компіляція Oscam для Android

511
Очень плохоПлохоСреднеХорошоОтлично (1 оцінок, середнє: 5.00 з 5)
Завантаження....

Компіляція Oscam для Android

 

Минуло вже деякий час з моменту моєї останньої корисної записи в блозі, але життя вже не та, що була раніше.
Так чи інакше, сьогодні я представляю вам новий підручник з докладними інструкціями про те, як побудувати Oscam для вашого Android box (наприклад, WeTek Play).

Офіційна документація Oscam містить деяку інформацію про те, як скомпілювати її за допомогою набору інструментів NDK, але вона застаріла, і ви не зможете орієнтуватися на пристрої, що працюють на Lollipop (5.0+), оскільки виконавчі файли не працюватимуть, тому що вони не є незалежними виконуваними файлами (PIE), а також не пояснюють, як крос-компіляція і установка OpenSSL.
Я покажу вам, як скомпілювати хороший статичний бінарний файл, який повинен працювати на будь-якому пристрої Android на базі arm.

Передусім, вам знадобиться машина Linux, я використовую Linux Mint, який заснований на Ubuntu, і все інструкції призначені для середовищ Ubuntu.
Якщо у вас немає середовища linux, встановіть віртуальну машину Ubuntu.

Встановіть необхідні пакети.

sudo apt-get update
sudo apt-get install subversion

Далі вам потрібно завантажити останню версію Linux 64-bit (x86) Android NDK, яку ви можете знайти за адресою https://developer.android.com/ndk/downloads/index.html
На момент написання цієї статті найсвіжіший стабільний випуск є r21.

Вийміть файл NDK в свій домашній каталог і компакт-диск в папку build / tools, щоб ми могли побудувати нашу ланцюжок інструментів для перехресної компіляції.

cd ~/android-ndk-r21/build/tools
export TOOLCHAIN=~/android-toolchain
./make_standalone_toolchain.py --arch arm --api 24 --install-dir $TOOLCHAIN

Ця команда займає кілька секунд для запуску, і вона повинна створити набір інструментів android в вашому домашньому каталозі.

Перед крос-компіляцією OScam за допомогою цього ланцюжка інструментів нам необхідно скомпілювати OpenSSL

Завантажити, витягти і побудувати OpenSSL:

cd ~
wget http://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar -xf openssl-1.1.1d.tar.gz
cd openssl-1.1.1d
export CC=$TOOLCHAIN/bin/arm-linux-androideabi-gcc
export RANLIB=$TOOLCHAIN/bin/arm-linux-androideabi-ranlib
./Configure --prefix=$TOOLCHAIN/sysroot/usr android
make
make install_sw

Тепер давайте перевіримо oscam svn і налаштуємо збірку.

cd ~
svn checkout http://www.streamboard.tv/svn/oscam/trunk oscam-svn
cd oscam-svn
./config.sh --enable WEBIF WITH_SSL

Тепер настає та частина, яку ви так довго чекали, крос-компіляція Oscam для Android.

make static EXTRA_FLAGS="-pie" LIB_RT= LIB_PTHREAD= CROSS=$TOOLCHAIN/bin/arm-linux-androideabi-

Якщо все спрацювало, то у вас повинен бути хороший двійковий файл в папці дистрибутива oscam-svn.

Я знаю, про що ти думаєш :

– “Якого біса, це ж не АПК. Як я встановлю і запущу це на своєму пристрої?”.

Ну, потім, що ми тільки що зробили, було компіляцією власного коду C для запуску в середовищі Android.
АПК – це пакет, який містить байт-код (скомпільований код java) і ресурси, які будуть працювати всередині віртуальної машини android java (яка може бути Dalvik або ART в залежності від вашої версії Android).

Нам потрібно буде наш рідний бінарний файл в якості ресурсу, витягти його в місце, де він може бути виконаний (не працює на SD-карті), зробити його виконуваним і запустити його.
Але це буде для наступного уроку.

 

 

Вам також може сподобатися...