Üdvözöllek a ksanci.hu oldalon!


Google egyéni kereső:
Betöltés...



O U Y A


Valamikor a 2012. év vége felé elkezdtem azon agyalni, hogy mit csinálnék, ha lenne egy tonna felesleges pénzem. Kiötlöttem, hogy valami nem drága, teljesen nyílt játékkonzolt csinálnék.
Rá is kerestem hirtelen a neten és nagy meglelepetésemre azt láttam, hgy lenyúlták az ötletemet :D
Rátaláltam az Ouya nevű játékkonzolra, ami nyílt forráskódú Android operációs rendszeren alapszik, teljesen szabadon bütykölhető kütyü.
Elő lehetett rendelni rá, amit én meg is tettem. :)

2013 június közepe tájékán meg is érkezett egy szép kis csomagban. Ő az:

Ezt is kibontva egy szép felirat köszönt ránk, amiben megköszönik, hogy hittünk a projekt sikerében:

 

Kibontva egy nagyon helyes, matt fekete karton dobozra lelünk:

Tovább bontogatva szemünk elé tárul a kézivezérlő és a konzol maga. Édes, alig nagyobb egy Rubik-kockánál :)

Teljesen kibontva előkerülnek a kábelek, elemek, egyéb sallangok:

Én most nem regélnék magáról a konzolról, minden infó és leírás, tesztek megtalálhatók az

ouyahungary.hu

oldalon.

Amiről viszont regélnék, az egy kis - ki gondolná? - buhera. Konkrétan a konzol felruházása a magyar nyelvvel :)
Régóta tartozom egyébként android telók magyarosítátásnak leírásával, na ez pont ugyanolyan, szóval több legyet is ütök egy csapásra :)

Igazából a magyar nyelvet beletenni egy kütyübe pofonegyszerű. Így utólag, mert rengeteg interneten való kutakodásra volt szükség, hogy megértsem, mit és hogyan. Nem utolsó sorban a szükséges programok megtalálása sem volt egyszerű.
Úgyhogy azok, akik ezt olvassák és érdekli őket a dolog, örülhetnek, mert itt minden egy helyen megvan és megspórolnak jó sok időt :D
Ha esetleg idetévedne egy fejlesztő, akkor nagyon örülnék, ha megirná, hogy mi a véleménye az egészről. Mert én nem vagyok az, csak nagyon kíváncsi és problémamegoldó természet. :D

Tehát a konzolt először bekapcsolva, a regisztráció elvégzése után megjelenik a menü. Szép angol nyelven. Irány a beállítások. Na itt a nyelveknél rengeteg nyelv közül választhatunk. Illetve választhattunk, mert az 1.0.393-r1 verziótól kezdve egy rakás nyelvet kivettek, jelenleg elérhető nyelvek az angol, német, francia, spanyol és olasz. A bibi az, hogy ugyan kiválaszthatunk nyelveket, de ez csak az "Advanced settings" menüpontra igaz, minden más angol marad. No változtassunk ezen.

Előrebocsátom, hogy egy androidos rendszer berhelgetéséhez a legjobb egy linux operációs rendszer, de én most szentségtörő módon vindóz alatt csináltam meg. Ugyanis minden szükséges eszköz elérhető. Igazából nem is tudom, hogy olvassa-e ezt majd valaki, ugyanis a fejlesztőket nem érdekli, hogy miket firkálok ide, olyan ember meg édeskevés van, aki csak úgy hobbiból foglalkozik ilyesmivel.
Na mindegy :) Akkor lássuk:

Magyarítás


(Utolsó módosítás: május 12.)


Először is a szokásos:

Figyelem!

Az oldalon leírtakat mindenki a saját felelősségére végzi el, vagy nem végzi el!
Elrontott motyókért nem vállalok felelősséget!

Ezekkel ugyan végleg nem lehet elrontani a cuccot, még akkor sem, ha a kedvenc klippedet írod fel véletlenül egy rendszeralkalmazás helyett, de egyesek meglepő dolgokra képesek...


Kapcsolat az OUYA és a PC között

Ez alapvetően egy mini usb kábel segítségével történik. Lehetséges wi-fi-n keresztül is, de az más történet.
Ehhez szükségünk lesz egy meghajtóprogramra, ami felismeri az Ouya konzolt.
Aztán kell még egy program, aminek a segítségével úgymond kommunikálni tudunk a konzollal. Ezt úgy hívják, hogy ADB (Android Debug Bridge)
Töltsük le ezeket.

A letöltött fájlt bontsuk ki valahova. Szükségünk lesz még egyéb progikra is, azok is ide kerüljenek majd. Legyen ez a munkamappa. Maradjunk is ebben, a továbbiakban ezt feltételezem az aktuális mappának.
Ja, ezeknek a programoknak nincs grafikus felületük, nem egérfarmok ezek, mindent parancssorból (DOS ablakból) fogunk csinálni.
Erősen javallott pl. a Total Commandert használni, ha csak a Windows Intézőt ismered, szerintem ne is olvass tovább.
Kössük össze az OUYA-t a számítógéppel. Kapcsoljuk be ;) Mindkettőt :D Amikor a meghajtóprogramot keresi, adjuk meg neki az usb driver nevű mappát.

Windows XP esetén:

  • Új hardver - üdvözli a varázsló ablakban válaszuk a Telepítsen listából vagy adott helyról (haladóknak) opciót, majd Tovább.
  • A legalkalmasabb illesztőprogram keresése az alábbi helyeken opció az alapértelmezett, ez alatt vegyük ki a pipát a Keresés cserélhető adathordozókon mellől és pipáljuk be a Szerepeljen a keresésben az alábbi hely opciót.
    A Tallózás gombbal adjuk meg az Usb driver mappát, majd Tovább.
  • Az Android Composite ADB Interface automatikusan települni fog.

    Windows 7 esetén:

  • Megjelenik alul Az eszközillesztő szoftver telepítése. Kis idővel meg az, hogy sikertelen :)
  • Menjünk a Vezérlőpult/Rendszer és Biztonság menübe. Itt a Rendszer alatt megtaláljuk az Eszközkezelőt. Katt rá. Az Egyéb eszközökben megtaláljuk az Ouya-t.
  • Kattintsunk jobb gombbal rá, majd válasszuk az Illesztőprogram frissítése pontot.
  • Illesztőprogramok keresése a számítógépen.
  • A Tallózás gombbal adjuk meg az USB driver mappát.
  • A Windows nem tudja ellenőrizni az illesztőprogram gyártóját ablakban válasszuk a Telepítem az illesztőprogramot.
  • Az Android Composite ADB Interface automatikusan települni fog.

    Még szükséges egy fontos dolog: hozzá kell adni a konzolt az adb-usb.ini filehoz.
    Nyissunk parancssort a munkakönyvtárból (TC-ben ugye csak bepötyögjük, hogy cmd), utána írjuk be:

    adb devices
    Ez azért kell, hogy létrejöjjön a megfelelő könyvtár és fájlok.
    utána:

    echo 0x2836 >> "%USERPROFILE%\.android\adb_usb.ini"

    Nézzük meg, hogy sikerült-e a telepítés:

    Írjuk be megint: adb devices

    Valami ilyesmit kell látnunk:

    Ha ez megvan, nagyon jó, gyakorlatilag a leglényegesebb megvan :)
    Telefonoknál típustól, gyártótól függ, hogy hogyan tudunk adb interfészen keresztül kapcsolódni. Ez nem ennek az irománynak a témája.
    Alapesetben egy telefonnál most szükség lenne az ún. rootolásra, de az OUYA-nál ez nem kell. Lehet ugyan, csak felesleges, ugyanis van "beépített" root.


  • Akit esetleg nem érdekelnek a részletek, csak az, hogy magyar nyelvű OUYA konzolja legyen, az UGORJA át a most következőket :D


    Fájlok másolása az OUYA-ról


    A következő fájlokra lesz szükségünk a konzolról a magyar nyelvhez:

    framework-res.apk: ez a legfontosabb, ez a rendszer "lelke". Ez minden androidos kütyün megvan.
    OUYALauncher.apk: ez a keretprogram, a menü.
    OUYAOOBE.apk: ez egy másik keret, akkor fut, ha nem vagyunk bejelentkezve a fiókunkkal.
    Settings.apk: ez az Advanced Settings menüpont programja. Illetve a telókon ez indul el a Beállítások menüpontot választva.

    Másoljuk ki őket az OUYA-ról:
    adb pull /system/framework/framework-res.apk framework-res.apk
    adb pull /system/app/OUYALauncher.apk OUYALauncher.apk
    adb pull /system/app/OUYAOOBE.apk OUYAOOBE.apk
    adb pull /system/app/Settings.apk Settings.apk

    Ezután a munkamappánkban ott figyel ez a négy fájl.

    Itt jegyezném meg, hogy létezik egy csodálatos kis ingyenes program, aminek segtségével Total Commanderhez hasonló grafikus felületen tehetjük meg mindezt. Szintén ADB kapcsolatot használ. Hasonlóan megkönnyíti a munkát, mint a TC.
    (Azonban mivel root jogosultságunk nincs, ezért nem írhatunk/olvashatunk bármilyen mappát/fájlt vele)
    A progi neve: Android Commander

    Ugyanezzel a módszerrel a telefonokról bármilyen appot le lehet szedni buhera céljából.
    Lassan közeledünk a lényeghez. A következő progi, amire szükségünk lesz, az az apktool.
    Házi feladat: töltsük le a legfrissebb verziót...

    Na itt kicsit megállnék, az alábbi buhera az apktool 1.5.2-es stabil verziójával (szintén letölthető innen) készült. Ezzel biztosan működik. Azóta jöttek ki újabb verziók, elvileg működni kell azokkal is, nem teszteltem.

    APKtool használata

    Ez a kis program arra szolgál, hogy bármilyen .apk fájlt ki tudjunk bontani, a szükséges módosítást elvégezni, majd újracsomagolni. Figyelem, nem arra készült, hogy mások programjait lopkodjuk, módosítgassuk, hanem pl. pont fordítások elhelyezésére egy applikációban.

    Egy kis kitérő az aláírásról (sign), rendszeralkalmazásokra értve:
    Minden egyes .apk fájl rendelkezik ún. aláírással (sign), ami minden egyes, az appon belüli fájlt egy digitális aláírással azonosít, azonban pl. a nyelvi fájlok egy külön fájlban egyben vannak tárolva becsomagolás után (resources.arsc). Így csak ezt a fájlt kell kicserélni az eredeti applikációban, így nem szükséges újra szignózni az appot (a fájl hossza nem számít, csak a megléte) Tehát ha valaki egyéb fájlokat akar törölni, vagy hozzáadni egy rendszeralkalmazáshoz (system/app tartalma), akkor az bajban lesz. Nem tudja az eredeti kulcs nélkül újraszignózni az appot így nem is lehet majd telepíteni vagy futtatni. Persze meg lehet csinálni, hogy az ÖSSZES, a kütyün lévő .apk fájlt újraszignózunk azonos kulccsal, de az elég beteg dolog. És nem is tudom, hogy működik-e. Namost én nem értek hozzá, csak így gondolom. Jó lenne, ha valaki okosabb jobban megmagyarázná :)

    Tehát Apktool. Kezdjük a legfontosabbal, a framework-res.apk-val. Legelőször is a framework fájlt installálnunk kell ahhoz, hogy bármilyen .apk fájlt ki vagy be tudjunk csomagolni. Méghozzá csak az a framework fájl jó, ami az adott kütyün van. Ha másik kütyüt akarunk buherálni, akkor annak a framework fájlját kell installálnunk.

    Csináljunk egy külön mappát az apktoolnak és tegyük bele magát az apktool fájljait és a módosítandó fájlokat.
    Aztán telepítsük a framework fájlt:

    apktool if framework-res.apk

    Essünk is mindjárt neki a framework fájlnak:

    apktool d framework-res.apk frame

    A d azt jelenti, hogy kibontani akarunk, ezt követi a kibontandó fájl majd a mappa neve, ahova kerülnek a kibontott fájlok.
    A létrejött frame mappából nekünk a res mappa érdekes. Ha csak arra van szükségünk, hogy a választható nyelvek között megjelenjen a magyar nyelv, akkor semmi mást nem kell tennünk, mint hogy létrehozzuk az egyéb nyelvek mintájára a values-hu és a values-hu-rHU mappákat. Ennyi. Csakhogy nekünk most több kell.

    A többi .apk fájlunkat is hasonló módon kibonthatjuk, mindegyikben lesz values/strings.xml és mindegyikben létrehozhatjuk a magyar nyelvi mappát és abban elhelyezhetjük a fordítást.
    Hozzuk létre a mappákat és a values-hu mappába másoljuk be a values mappa string.xml fájlját.
    Nyissuk meg egy normális szerkesztővel (pl. PSPad) a string.xml-t és essünk neki. Nincs más teendőnk, mint minden sorban a > és </string> közötti angol nyelvű szöveget lefordítani és átírni magyarra.
    Csak párszáz sorról van szó, jó munkát! :D:D:D:D
    Figyeljünk arra, hogy a fájl utf-8 kódolású legyen!
    Gyorsabb megoldás, ha rendelkezünk hasonló készülékről egy, a magyar nyelvet is tartalmazó .apk-val, ekkor ugyanis a különböző string.xml fájlok összefésülhetőek, így nem kevés munkát megspórolva.
    Pl. au OUYAOOBE string.xml-je szinte teljes egészében megtalálható az OUYALauncher string.xml-jében, így elég ezt lefordítani, utána csak össze kell fésülni az előbbivel.
    Ha elvégeztünk mindent, amit akartunk, akkor csomagoljuk vissza az appot:

    apktool b frame framework-res-new.apk

    A b (build) jelenti, hogy csomagolni akarunk, aztán a mappa neve, aminek a tartalmát csomagolni akarjuk végül az új fájl neve.
    Figyelem, az apktool nem kér megerősítést, ha létező fájlt akarunk felülírni! Simán megteszi, ezért figyeljünk oda a névadáskor.
    Az .apk fájlok szabványos zip tömörített fájlok, vagyis átnevezve őket .zip kiterjesztésre, tömörített állományként kezelhetjük.
    Total Commandert használva erre nincs szükség, automatikusan felismeri a formátumot. Miért érdekes ez?
    Mert a létrejött fájlból csak a resources.arsc fájlra van szükségünk, ezzel kell kicserélni az eredeti .apk fájlban lévőt.
    Így az alkalmazáshoz tartozó eredeti aláírás érvényes marad.
    És a fentieket szépen végigcsináljuk az összes többi appal. :)

    string.xml fájlok összefésülése - apk-trans

    Ezt a nagyszerű programot egy SifJar becenevű úriember készítette, köszönjük meg neki, mert nagyon hasznos kis cucc.
    Házi feladat: töltsük le a xda-developers fórumáról a legutolsó változatot :)
    A használata egyszerű: apk-trans lefordítottxmlfájl eredetixmlfájl összefésültxmlfájl gui |more
    (|: ez a jel magyar billentyűzeten a jobb oldali ALT (AltGr)+W billentyűkkel érhető el)
    A gui és a |more megjelenít egy folyamatjelzőt, hogy tudjuk, hol tart a program. Elég sokáig tud futni...

    A proginak van egy kis hibája: az elkészült fájlban, ha a leírásban használunk tageket (<br>, <b> stb.) akkor eredetileg a nyitó relációs jelet a &lt; kód jelenti. A program ezeket kicseréli rendes < jelre, ami viszont csomagoláskor hibát jelez az apktool-ban. Szóval ezeket kézzel ki kell javítani. Példa:

    eredeti:
    <string name="bluetooth_disconnect_all_profiles">Ezzel befejezi a kapcsolatot a következővel:&lt;br>&lt;b>%1$s&lt;/b></string>
    a létrehozott fájlban ez így fog kinézni:
    <string name="bluetooth_disconnect_all_profiles">Ezzel befejezi a kapcsolatot a következővel:<br><b>%1$s</b></string>

    A nyitó relációs jeleket (<) ki kell cserélni a &lt; kódra!

    Az elkészült fájlok visszaírása

    Na ez a kicsit kacifántosabb. Egyrészt a /system mappa alapértelmezetten csak olvasható, szóval nem tudunk csak úgy írogatni bele.
    Másrészt mivel nem rootolt a kütyü, így nem másolgathatunk csak úgy a rendszermappákba.
    Harmadrészt pedig a linux alapú rendszerek, így az Android is nagyon szigorúan veszik a jogosultságokat. Nem elég felmásolni a fájlokat, a megfelelő jogosultságokat is meg kell adni.
    Szóval, először is másoljuk fel a módosított fájlokat az OUYA-ra. Először csak a belső sd kártya gyökerébe. Itt most azt veszem alapul, hogy a módosított fájlok a munkamappában vannak. Írjuk be a következő parancsokat:

    adb push framework-res-new.apk /sdcard/framework-res-new.apk
    adb push OUYALaunchernew.apk /sdcard/OUYALaunchernew.apk
    adb push OUYAOOBEnew.apk /sdcard/OUYAOOBEnew.apk
    adb push Settingsnew.apk /sdcard/Settingsnew.apk

    Utána:
    adb shell - nyitunk egy konzolt
    shell@android:/ $ su - rootként ügyködünk
    shell@android:/ # mount -o rw,remount -t ext4 /dev/block/platform/sdhci-tegra.3/by-name/APP - újracsatoljuk a system mappát írhatóként
    shell@android:/ # cat /sdcard/framework-res-new.apk > /system/framework/framework-res.apk
    shell@android:/ # cat /sdcard/OUYALaunchernew.apk > /system/app/OUYALauncher.apk
    shell@android:/ # cat /sdcard/OUYAOOBEnew.apk > /system/app/OUYAOOBE.apk
    shell@android:/ # cat /sdcard/Settingsnew.apk > /system/app/Settings.apk
    - felülírjuk az eredeti fájlokat az újakkal.

    Khm, futás közben felülírni fájlokat minimum nem elegáns, de én sem vagyok programozó... :D Ha látjuk a konzolunk képét, akkor most azt látjuk, hogy jól lefagyott. Látszólag. :) De mi csak folytassuk...
    Most pedig beállítjuk a jogosultságokat. Ez nagyon fontos!

    shell@android:/ # chmod 6755 /system/framework/framework-res.apk
    shell@android:/ # chmod 6755 /system/app/OUYALauncher.apk
    shell@android:/ # chmod 6755 /system/app/Settings.apk
    shell@android:/ # chmod 6755 /system/app/OUYAOOBE.apk

    Majdnem kész vagyunk. Ahhoz, hogy valóban magyar nyelven is lássuk a dolgokat, szükséges még két beállítás. Így nem kell a még angol nyelvű menükben kolbászolni:

    shell@android:/ # setprop persist.sys.language hu
    shell@android:/ # setprop persist.sys.country HU

    Ezután már csak újra kell indítani a konzolt:

    shell@android:/ # reboot

    Újraindulás után az általunk magyarított magyar nyelvű OUYA fog virítani. Ha minden igaz :D
    Ennyi :)


    Lustáknak, vagy az egész eddigiek hidegen hagyóknak vagy azoknak, akik egyszerűen magyar nyelvű OUYA-t akarnak látni, megcsináltam ezt az egészet :D Letöltöd, kibontod, összekötöd az OUYA-t a gépeddel, telepíted az usb drivert aztán lefuttatod az INDIT.bat fájlt és gyönyörködhetsz a magyar nyelvű OUYA-dban :D
    A fordítás immáron közel 100%-os :) Néhol a menüben az ékezetek nem látszanak illetve az Ő és Ű betűk helyett az Ö és Ü kell.
    Itt mindig a legfrissebb verzióhoz (esetenként pár nap (hét...) csúszással) készült magyarítás tölthető le:

    OUYA1.2.1084-r1_hun.zip

    (Utolsó módosítás: május 27.)

    Eredeti firmware kiadása: május 23.

    Kis újítás: ha parancssorból indítod az INDIT.bat fájlt és megadod a konzol IP címét, akkor hálózaton (kábel vagy wifi) keresztül próbál kapcsolódni.
    Ehhez persze az OUYA system/development menüjében engedélyezni kell az ADB over network opciót.

    Figyelem! Ha már buheráltad az Ouya-t és esetleg rootolva van, akkor nem fog működni! Ahhoz más scriptek kellenek...


    Valahogy így néz ki a folyamat:





    Egy nyalánkság a végére: előfordul, mint nálam is, hogy ha a számítógépre kötöm az OUYA-t, akkor viszont a képét nem látom, mert nincs a közelben HDMI bemenetes TV vagy monitor.
    Erre is van megoldás, a neve droidscreen.jar

    Ez egy JAVA alkalmazás, Szintén ADB kapcsolatot használ és láthatjuk, mit mutat éppen a kütyü kijelzője :)
    Lényegében egy képlopó, a frissítési ideje kb. 3-5 másodperc.


    Főoldal