Új hozzászólás Aktív témák

  • zsozsoooooo

    tag

    válasz thelastoth #23286 üzenetére

    Hali!

    Bocs ha hosszú lesz :)

    Működésre tudtam bírni NCTV, BHTV által használt KIZS szolgáltatás által használt python-libtorrent program kiegészítőt androidon, többi platformot nem néztem.

    A python-libtorrent-et DiMartino fejleszti, van neki repoja is:
    https://bitbucket.org/DiMartino/myshows.me-kodi-repo/downloads/
    Asszem valahol 1.1.7-esnél tart.

    Ugye, ha jól tudom, a lényeg az, hogy android 6+-tól változott az android permission kezelése.
    A python-libtorrent plugin akkor tud működni, ha a libkodi.so(kodi apk installálásával kerül a /data/data/org.xbmc.kodi/lib könyvtárba) -hoz linkelni tudja a linker a libtorrent.so-t (és armv7 esetén a liblibtorrent.so-t). /Megjegyzem , úgy vettem észre, a liblibtorrent.so nincs benne a python-libtorrent pluginban, hanem a benne levő valamelyik python script másolja le a libtorrent.so-t erre a névre.)
    Mindenesetre ez a két file kell a működéshez az android armv7 es x86 platformra:

    platform_pulsar.py (get_libname function):
    "elif platform['system'] in ['android_armv7', 'android_x86']:
    libname=['libtorrent.so', 'liblibtorrent.so']
    return libname
    "

    Ezeket próbálja linkelni a libkodi.so, de akárhonnan nem tudja a kis hamis. Ezért a python-libtorrent plugin megpróbálja olyan helyre másolni (/data/data/org.xbmc.kodi/lib), ahonnan be is lehet linkelni, de sajna már nem tudja odamásolni, mert nincs meg a megfelelő permission. (__init__.py fileban lehet látni hogy próbálkozik, milyen workaroundokkal, de hiába, nem tudja odamásolni)

    Két megoldást tudtam produkálni ami működik:
    Ehhez kelleni fog a libtorrent.so file (en esetemben android armv7 platformra kellett) Ez a file az 1.1.1-es python-libtorrent pluginban benne van.
    Innen szedtem le : https://github.com/DiMartinoXBMC/script.module.libtorrent/tree/master/python_libtorrent/android_armv7/1.1.1
    Majd átmásoltam liblibtorrent.so névre is.

    1., Rootolt készülék esetén.
    - a libtorrent.so filet és liblibtorrent.so filet odamásoltam a /data/data/org.xbmc.kodi/lib könyvtárba, és beállítottam ezen fileok owner-ét és jogosultságait ugyanarra mint a többi itt található .so file (pl libkodi.so)
    Ezek után ha felinstalláljuk a kizstorrent kiegészítőt, és szól hogy állítsuk be a beállításait, megcsináljuk, majd újraindítjuk a kodit, akkor már nem szabad a kizstorrent kieg-nek hibát dobnia.

    2., nem rootolt készülék esete:
    Nincs mese, a fileoknak itt is oda kell kerülni a megfelelő helyre.
    - Kodi apk armv7 letölt (https://kodi.tv/download) /armv7a-32bit/ : nálam ez lett: kodi-18.0-Leia-armeabi-v7a.apk
    - apk file az ugye egy csomagolt file, belemásoltam a lib/armeabi-v7a mappába a libtorrent.so-t és liblibtorrent.so-t.
    - meta-inf mappából kitöröltem a .RSA és .SF fileokat
    - csináltam egy új certificatet és azzal aláírtam az apk-t (java jdk kell hozzá, annak a bin könyvtárában vannak a szükséges parancsfile-ok )
    - certificate csinálás:
    keytool.exe -genkey -v -keystore <keystorefilenev> -alias <aliasneve> -sigalg MD5withRSA -keyalg RSA -keysize 2048 -validity 1000
    - aláírás a keystore-ral :
    jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore <keystorefilenev> <kodiappname> <aliasneve>

    keystorefilenev-et , alias-t találj ki valamit, a kodiappname pedig a kodi apk file neve legyen. (Értelem szerűen a kapcsos zárójelek nem kellenek behelyettesítésnél)
    Ahol passwordot kér, oda talalj ki valamit csak jegyezd meg miaz.

    - Ha aláírta az apk-t, installáld fel az eszközre. (Előtte a régi kodit én letöröltem, de még azelőtt a Belső tároló /Android/data/org.xbmc.kodi/ mappát elbackupoltam)

    Mindkét megoldást kipróbáltam, egyiknél se dobott kizstorrent kieg hibát, 2. megoldásnál még a BHTV-t is kipróbáltam, működött.

    Persze a google play store azt ugatja a kodira, hogy van új frissítés. Tippre, ha ráfrissítünk akkor abból az apkból rakja oda a .so file-okat, gondolom előtte törli a meglevőket, és bukjuk a libtorrent.so file-okat a megfelelő helyen, szóval érdemes szerintem az automata frissítést kikapcsolni a google play storeban, és a kézit sem végrehajtani.

    Ha frissíteni akarunk majd később újabb verzióra, remélem, fenti megoldás működni fog úgy, hogy külön letöltjük a frissebb kodi apk fileját.

    [ Szerkesztve ]

    Zsozso

Új hozzászólás Aktív témák