Складанне OSCAM для Android
524
Некаторы час прайшоў з майго апошняга карыснага запісу ў блогу, Але жыццё не тое самае, Што было раней.
Так ці інакш, Сёння я прадстаўляю вам новы падручнік з падрабязнымі інструкцыямі пра гэта, Як пабудаваць OSCAM для вашага Android Box (напрыклад, wetek гульня).
Афіцыйная дакументацыя OSCAM змяшчае некаторыя звесткі пра пра, Як сабраць яго з дапамогай інструментаў NDK, Але яна састарэла, І вы не зможаце засяродзіцца на прыладах, Праца на лядзяшы (5.0+), Паколькі бінарныя файлы не будуць працаваць, Таму што яны не з'яўляюцца незалежнымі выкананымі файламі (Пірог), А таксама не тлумачыце, Як перакрыжаванае зборнік і ўстаноўка OpenSSL.
Я вам пакажу, Як сабраць добры статычны бінарны файл, які павінен працаваць на любым Android -прыладзе на аснове ARM.
перш за ўсё, Вам спатрэбіцца Linux, Я выкарыстоўваю Linux Min, які заснаваны на Ubuntu, І ўсе інструкцыі прызначаны для Media Ubuntu.
Калі ў вас няма асяроддзя Linux, Усталюйце віртуальную машыну Ubuntu.
Усталюйце неабходныя пакеты.
sudo apt-get update
sudo apt-get install subversion
Далей вам трэба загрузіць апошнюю версію 64-бітнага Linux (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
спампаваць, экстракт і зборку OpenSl:
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..
APK – Гэта пакет, які змяшчае байт -код (Складаны код Java) і рэсурсы, які будзе працаваць у віртуальнай машыне Android Java (які можа быць Dalvik або мастацтва ў залежнасці ад вашай версіі Android).
Нам спатрэбіцца наш родны бінарны файл у якасці рэсурсу, здабыць яго ў месца, дзе гэта можна выканаць (не працуе на SD -карце), Зрабіце яго выкананым і запусціце яго.
Але гэта будзе для наступнага ўрока.