Sunday 30 December 2012

Archos Video Player (e altro) su Mediacom 101 S2 (e altri tablet Jelly Bean RK3066)

Nota bene: mi sono accorto poco dopo aver terminato questa guida che Archos Video trasferito anche se all'inizio funziona dopo un po' si blocca a causa di un sedicente 'license verification error'.  Archos Music e Talk funzionano come descritto: però se se siete interessati al player video c'è ancora del lavoro da fare (ho già provato ad adattare il build.prop - niente da fare), comunque lascio il post perchè qualche informazione potrebbe essere utile comunque.

La Archos ha recentemente pubblicato su google play la versione 'universale' del suo player video. Si tratta di un player con una ottima interfaccia utente, e la possibilità di sfruttare share di rete (SMB) e server DLNA, anche se non mi sembra raggiunga il livello di compatibilità di un player come VLC.
Prima di questa release il player era disponibile solo come app di sistema in alcuni tablet archos come il Gamepad o l'Archos 80 XS: in questi dispositivi, basati su chipset RK3066 è sfruttata (a quanto pare) l'accelerazione nativa della GPU. Su altri tablet con lo stesso chipset (come il Mediacom 101 S2 su cui ho testato questa guida, comunque le informazioni dovrebbero essere valide anche per altri tablet con lo stesso hardware e la stessa versione, Jelly Bean, di Android) gira benissimo la versione commerciale del player: se si ha anche un dispositivo Archos - altrimenti sarebbe irregolare - e si vuole provare a usare lo stesso player video sull'altro tablet, ecco come fare. Inoltre il firmware Archos contiene anche una versione di Google Talk e di Magazines (non molto utile in italia credo) che può far comodo su dispositivi come il 101S2 che non dispongono nativamente di queste app.

Per effettuare lo spostamento delle app in questione è necessario:

- saper utilizzare ed eventualmente ricompilare programmi a linea di comando da window e/o linux
- poter almeno leggere dati da una immagine in formato RAW ext3, come quelle dei firmware archos: io ho usato direttamente linux, su window si può provare un tool come http://www.diskinternals.com/linux-reader/
- saper spostare file da/a il proprio dispositivo android, possibilmente con ADB (per il 101S2 vedi la mia guida in questo blog) oppure avere i permessi di root sul device e usare un file manager che li sfrutti (p.es. ES File explorer, per il root su 101S2 vedi qui)

Per prima cosa è necessario procurarsi una immagine del firmware archos. Ad oggi 30/12/12 l'unica disponibile è quella del Gamepad disponibile qui o comunque nella sezione download di www.archos.com.

Il file dovrebbe essere un file in formato standard Rockchip, ovvero l'impacchettamento di un loader e di alcune immagini raw delle varie partizioni da ricreare: tuttavia con i Wendal's tools originali apparsi sul forum di slatedroid (versione compilata qui) o anche la versione specifica per RK3066
non è possibile estrarre le immagini raw dal file update.img. A questa URL su github
menzionata nel thread originale su slatedroid però è possibile scaricare  sorgenti di tool alternativi a quelli di Wendal che scompattano senza problemi il firmware archos. Dei tools, l'unico che interessa è rkunpack.c. Lo si può compilare (su Linux, o su Windows, posto che si disponga di un compilatore adeguato come quello del pacchetto cygwin) semplicemente con

cc rkunpack.c -o rkunpack (linux)

cc rkunpack.c -o rkunpack.exe (windows con cygwin)

se non ce la fate a ricompilare da soli rkunpack ecco qui una versione windows ricompilata col mio cygwin (su w7 a 64 bit, ma gira anche su xp a 32, servono anche le librerie cyg*.dll incluse nello zip ovviamente). Una volta posto il file update.img nella stessa cartella di rkunpack.exe e degli altri file dare da prompt dei comandi:

rkunpack update.img

il tool creerà una cartella image con dentro i file .img delle varie partizioni in formato raw/ext3. Il file che ci interessa è il più grande, system.img

Per accedere ai file da spostare io ho copiato i file su una macchina Linux (Ubuntu 11 per la precisione) e da shell ho usato il comando:

sudo mount -t ext3 -o loop /percorso/system.img /home/febo/cartella

ovviamente nell'esempio system.img è stato posto in /percorso ed è stata creata la cartella /home/febo/cartella : fatto questo i file della partizione sono visibili a partire da questo ultimo percorso e ricopiabili a piacere altrove. Alternativamente si può usare un tool windows, come già detto  http://www.diskinternals.com/linux-reader/ funziona.

Fatto questo è possibile posizionarsi nella cartella app della partizione e copiare i file .apk delle app che interessano. I file nel caso del gamepad sono:

ArchosMusic.apk (video player archos)
ArchosVideo.apk
(player mp3 archos)
Magazines.apk
(applicazione google per abbonamenti)
Talk.apk
(google talk per jelly bean)

Talk.apk e Magazines.apk sono installabili così come sono, basta copiarli sul tablet e installarli con un file explorer, o apk installer, o altro tool. Io uso ADB da linea di comando così:

adb install Talk.apk

adb install Magazines.apk

Provando a fare lo stesso con le altre due applicazioni si ottiene invece un bell'errore MISSING_SHARED_LIBRARY.

Esaminando meglio i due apk (consiglio questo ottimo tool, android-apktool) in effetti si nota che manca un file .jar del framework. Per estrarlo dal firmware archos e reinstallaro prelevare dall'immagine raw montata i file

./framework/com.archos.frameworks.jar

./etc/permissions/com.archos.frameworks.xml

i file devono essere ricopiati con i giusti permessi (644)  nelle corrispondenti cartelle /system/framework e /system/etc/permissions del device di 'arrivo'. Seguono i comandi da dare per inserire i file da ADB (posto che i 2 file siano nella stessa cartella di adb.exe).

adb root

adb remount

adb push com.archos.frameworks.jar /system/framework

adb shell chmod 644 /system/framework/com.archos.frameworks.jar

adb push com.archos.frameworks.xml /system/etc/permissions

adb shell chmod 644 /system/etc/permissions/com.archos.frameworks.xml


Io ho usato questo sistema: sicuramente si dovrebbe procedere anche con un file manager come Root File Explorer o ES File Explorer con l'opzione apposita settata, anche se è possibile che sia comunque necessario usare adb remount per rendere scrivibile /system (non ho provato).

Una volta fatto questo al riavvio i due apk dei player archos saranno installabili senza problemi. Da Adb:

adb install ArchosMusic.apk

adb install ArchosVideo.apk


Una eventuale versione commerciale del player Archos deve essere disinstallata, altrimenti l'installazione fallirà ancora (da ADB errore SHARED_USER, messaggio generico di installazione fallita da android).

No comments:

Post a Comment