keskiviikkona, elokuuta 27, 2014

Watchtower Libraryn 2013 asennus Kubuntuun 14.04

Eli aluksi asenna wine komennolla: sudo apt-get install wine. Tämän pitäisi asentaa uusin wine versio. Ks. asennus videolta.















Watchtower Libraryn 2013 asennus:















Miten toimii Kubuntussa:



Kuvakkeen asetus ks.kuvaa (Saat ladattua kuvakkeen täältä.)

keskiviikkona, elokuuta 13, 2014

Unityn poistaminen

Kun Ubuntussa tulee raskas ja ärsyttävä Unity, niin päätin päästä siitä eroon kerralla. Eli lyhykäinen ohje siihen. Asenna ensin jokin työpöytä ympäristö jota haluat käyttää (esim. sudo apt-get install gnome-session-flashback). Tämän jälkeen on turvallista poistaa Unity.
Komento päätteellä: sudo apt-get remove --purge unity.
Vielä voit varmuuden vuoksi ajaa komennon: sudo apt-get autoremove, niin saat vähän siivottua konetta tarpeettomilta paketeilta.
Taitaa olla ennätys blogien kirjoittelujen suhteen yhden päivän ajalle :). No huomenna on luvassa ainakin yksi vielä lisää jos en tänään kehtaa sitä julkaista ;).

Qt 5.3.1:n kääntäminen androidille ja sorsan puukottaminen

Kaikki alkoi siitä että fontit renderöityi väärin HTC Desiere HD:ssä (Android luuri). Eli oheisen kuvan tavalla.
Lue ohje kokonaisuudessaan läpi kerran ennen kuin alat tekemään mitään, että hahmoitat mitä tulee tehdä.
On hyvä asentaa kyseiset paketit Ubuntussa komennoilla:
sudo apt-get install build-essential perl python git

sudo apt-get install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev

sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby

sudo apt-get install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
Tämän jälkeen pitää ladata lähdekoodit gitistä komennolla:
git clone git://gitorious.org/qt/qt5.git qt5
Tämän jälkeen mene kyseiseen kansioon: cd qt5.
Aja kansiossa kyseinen komento: git checkout 5.3.1.
Tämän jälkeen aja samaisessa kansiossa komento: perl init-repository (Huom. Tarvitset perilin asennettuna koneella).
Tarvitset myös Ant:in jonka voit asentaa komennolla: sudo apt-get install ant (Tarvitaan Android kehitysympäristössä).
Nyt olisi valmista tarvittavien pakettien suhteen.
Sitten tarvitaan myös kääntämiseen NDK, SDK.
Pura paketit.
Seuraavaksi aja export komennot (PATH): 
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/bin/
export ANDROID_SDK_ROOT=/home/nikohal/qt5/qt5/adt-bundle-linux-x86-20140702/sdk
export ANDROID_API_VERSION=android-10 
KS. Javan asennus erillisestä blogistani.
Seuraavaksi aja komento päätteessä: cd /kansio johon purit sdk:n/adt-bundle-linux-x86-20140702/sdk/tools. (Huom. tarkista että on sinulla oikea adt-bundle-linux-x86-****)
Sitten komento:  ./android.
Tulisi avautua seuraavan näköinen ikkuna. Asenna API levelit 10, 11, 16, 19 (jonkin ohjeen mukaan..., vaikka kääntämisessä käytetään API leveliä 19).
Ollaan jo päästy sellaiseen vaiheeseen että voidaan aloittaa lähdekoodien kääntämien.
Aja komento ./configure -xplatform android-g++ -nomake tests -nomake examples -android-ndk /home/nikohal/qt5/qt5/android-ndk-r10/ -android-sdk /home/nikohal/qt5/qt5/adb-bundle-linux-x68-20140702/sdk/ -android-ndk-platform android-19 -android-ndk-host linux-x86 -android-toolchain-version 4.8 -skip qttranslations -skip qtwebkit -skip qtserialport -skip qtwebkit-examples -no-warnings-are-errors -no-dbus. Huomioi että oheisen kansio polut vastaavat sinun polkujasi ja että -android-host on oikea. Sitten vain annat ruksuttaa jonkin aikaa. (Näin sivu huomautuksena, itse käytän Virtual boxissa ubuntua). Jos konfikurointi menee läpi aja seuraavaksi make ja jos kääntäminen menee läpi, niin seuraavaksi: sudo make install. Sitten onkin kaikki valmista tältäosin. Avaa Qt Creator (täytyy asentaa koneelle). Löydät sen täältä. Sitten avaa valikko Tools -> Options -> välilehti Android. Lisää polut oikein oheisen kuvan mukaan.Sitten avaa välilehti Build & Run -> välilehti Kits-> Add (Lisää qmake/kirjastot). Hae polku /usr/local/Qt-5.3.1. Tämän jälkeen tulisi näkyä seuraava (Kuva yläpuolella).
Lisää puhelin usb kaapelilla koneeseen. Sitten tarvitaan asetus Virtualboxissa eli lisää puhelin usb:n kautta virtuaalikoneeseen.






Tätä ennen on hyvä laittaa puhelimessa asetus päälle: Asetukset-> Sovellukset->Kehitys. Valitse Usb-korjaaminen ja Näyttö päällä (Tämä siis HTC Desiere HD:ssä).
Tämän jälkeen korjaa projektia hieman.
Avaa Projects sivu (Pikanäppäin ctrl+5). Avaa Build Environments. Add eli lisää seuraava rivi, ks. kuva.

Kun ajat Android projektin Qt Creatorissa tuli ponnahtaa oheisen kuvan näköinen ikkuna ->
Sitten vain ok. Qt Creator kääntää ja ajaa sovelluksen puhelimessa (Olet nörtti tässä vaiheessa :D).

Eli fontti renderöintiä ei ole vielä korjattu.
Avaa kansio qt5/qtbase/src/plugins/platforms/android. Etsi tiedosto: qandroidplatformopenglcontext.cpp. Avaa jossain teksti editorissa ja lisää oheinen rivi kyseiseen kohtaan eli qDebug() << rendererString;.

Käännä qt5 uudestaan, konfigurointia ei tarvita vaan aja make päätteessä. Tämän voit toki tehdä kaikkea ennen eli kohdassa jossa aletaan kääntämään qt 5:sta ensimmäistä kertaa.


Välilehdellä Compile Output näet viestit mitä kääntämisen aikana tapahtuu ja näet myös mitä tapahtuu kun ajat sovellusta. Oheisen ongelman kohdalla pitäisi tulla rivi jossa lukee seuraavaa: (10857): qandroidplatformopenglcontext.cpp:80 (static bool QAndroidPlatformOpenGLContext::needsFBOReadBackWorkaroud()): Adreno 205
D/Qt.
Korjaa kyseiseen tiedostoon jonka aiemmin avasit oheinen rivi:
Eli suunnileen riville 78: || qstrcmp(rendererString, "Adrero 205") == 0. Käännä tämä lisäyksen jälkeen lähdekoodit uudestaan komennolla make.
Sitten vain ajat Qt Creatorissa sovelluksesi ja näet että kyseinen fontti ongelma on ratkaistu.
Ohessa vielä video.
Ohessa valmis paketti.

Javan asennus repositorystä Ubuntuun

Aluksi aja komento joka lisää kyseisen lähteen repository listaan (päättessä):
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
Tämän jälkeen voit tarkistaa java version komennolla: java -version
Jos se näyttää jotain muuta kuin oheinen kuva näyttää, niin aja komento:
sudo update-java-alternatives -s java-7-oracle