Sammanställa Oscam för Android
511
Det var ett tag sedan min senaste blogginlägg användbar, men livet är inte samma sak, det var innan.
Hur som helst, Idag har jag presentera en ny lärobok med detaljerade instruktioner om hur, hur man bygger Oscam för din Android box (till exempel, WeTeK Play).
Officiell dokumentation Oscam innehåller en del information om, hur man kompilerar det med hjälp av NDK toolchain, men det är föråldrad, och du kan inte lita på enhet, verksamma på Lollipop (5.0+), som binära filer fungerar inte, eftersom de inte är oberoende körbara filer (PAJ), och förklarar inte, som tvär kompilering och installera OpenSSL.
Jag kommer att visa dig, hur man kompilerar en bra statisk binär, som ska fungera på alla Android-enhet på basis av armen.
Först av allt, du behöver en Linux-maskin, Jag använder Linux Mint, som är baserad på Ubuntu, och alla instruktioner för Ubuntu miljöer.
Om du inte har Linux-miljö, installera Ubuntu virtuell maskin.
Installera nödvändiga paket.
sudo apt-get update
sudo apt-get install subversion
Nästa du behöver för att ladda ner den senaste versionen av Linux 64-bitars (x86) Android NDK, som du hittar på https://developer.android.com/ndk/downloads/index.html
Vid tidpunkten för denna skrift, är den senaste stabila versionen r21.
Packa upp filen NDK i hemkatalogen och CD-ROM i mappen build / verktyg, så att vi kan bygga vår kedja av verktyg för cross-kompilering.
cd ~/android-ndk-r21/build/tools
export TOOLCHAIN=~/android-toolchain
./make_standalone_toolchain.py --arch arm --api 24 --install-dir $TOOLCHAIN
Detta kommando tar några sekunder för att starta, och det bör skapa en uppsättning verktyg android i din hemkatalog.
Innan korskompilering OScam hjälp kedjan verktyg vi behöver för att kompilera OpenSSL
Hämta, extrakt och bygga 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
Nu check oscam SVN och ställa in montering.
cd ~
svn checkout http://www.streamboard.tv/svn/oscam/trunk oscam-svn
cd oscam-svn
./config.sh --enable WEBIF WITH_SSL
Nu kommer den del, du har väntat på, korskompilering Oscam för Android.
make static EXTRA_FLAGS="-pie" LIB_RT= LIB_PTHREAD= CROSS=$TOOLCHAIN/bin/arm-linux-androideabi-
Om allt fungerade, då måste du ha en bra fördelning i den binära fil mapp oscam-svn.
jag vet, vad du tycker :
– “vad fan, detta är inte AIC. Hur ställer jag in och köra det på din enhet?”.
Brunn, sedan, vi bara gjorde, Det har varit att sammanställa sin egen C-kod för att köras på Android miljön.
APK – detta paket, som innehåller den byte-kod (kompilerad Java-kod) och resurser, som kommer att köras i den virtuella maskinen android java (som kan vara Dalvik eller ART, beroende på vilken version av Android).
Vi kommer att ha vår egen binär fil som en resurs, ta bort den på plats, där det kan formas (Det fungerar inte på SD-kort), gör den körbar och köra det.
Men det kommer att vara till nästa lektion.