Il mio post precedente introduce un altro argomento: gli smanettoni.
I famosi port che tutti installano per il T100s o per il W200S sono fatti principalmente da tre persone. Il primo è uno smanettone totale. Il secondo capisce un po' di più. il Terzo capisce quanto il secondo. Non voglio far nomi (ma potrei spiegare dettagliatamente il perchè) quello che conta il concetto. Guardate le ROM che rilasciano, leggete le info e vi renderete conto di un paio di cose.
La prima è che non scrivono da dove hanno preso il framework. Quando capita un porting di una MIUI o di una LEWA si capisce chiaramente da dove viene ma nelle due deodexed non scrivono nemmeno da quale cell. hanno preso il framework (e chiaramnete non è quello stock..credetemi).
Poco importa potrebbe dire qualcuno. E invece no. Se almeno uno sapesse da dove l'hanno preso saprebbe almeno quale modulo Xposed potrebbe funzionare (è questa la ragione per cui ho detto a cyber di desistere...se uno non sa da dove cacchio hanno preso il framework non conosce nemmeno le possibili compatibilità...e dovrebbe andare a casaccio).
Seconda cosa:
non aggiornano mai e poi i bug. Di solito nei porting smanettoni dei cell. più quotati ci sono almeno due persone che ci lavorano. Stavo seguendo un paio di porting per il G2 e ci sono almeno 5 persone nei ringraziamenti per ogni aggiornamento. Perchè? Perchè per fare un porting a capocchia è capace anche mia zia se gli do le istruzioni (come scrissi in un post in questo thread). La difficoltà è saper risolvere le incompatibilità o almeno tentare. E qui gli smanettoni si fermano e si glorificano da soli e passano al prossimo copia e incolla di cartelle...pardon, intendevo dire porting :)
Quindi quello che c'è oggi per i vari ocatacore della THL sono solo porting a capocchia pieni di inconpatibilità.
Se seguivo i thread dei THL era appunto per vedere se sarebbe saltato fuori qualcuno in gamba con un buon porting.
Infatti il problema dei nuovi ocatacore è la stock ROM che hanno deciso di usare: pessima dato che non nessuno si sbatterà mai a metterci le mani dato che nessuno conosce come funziona (gli spec del sistema operativo che hanno deciso di mettere non sono pubblici e siamo distanti anni luce dall'android AOSP).
Morale: se uno è felice con la stock ROM, allora ha fatto un buon acquisto IMHO. Ma se desidera altro e personalizzare la ROM allora è nei guai.
Xposed
Apro questo capitolo come ultimo post.
Cosa fa una persona che non è felice della sua stock ROM quando vorrebbe alcune funzioni o personalizzazioni che non sono presenti? Che uno abbia un samsung o uno Xiaomi o un THL vorrebbe una ROM che gli fornisca ciò che cerca.
Magari trova una ROM adatta e già ottimizzata come una CM o una Paranoid ed è felice.
Ogni ROM di alto livello arriva con una serie di modifiche al sistema che va a cambiare però dal kernel, alle librerie fino agli .apk. Ogni ROM (spesso propietaria) fa modifiche pesanti del sistema, ovvero non è più la stock ROM di Google.
Ecco l'idea di Xposed
E se invece di modificare il sistema differenziando millanta ROM avessimo la possibilità di intervenire sui processi cambiando solo il loro comportamento e aggiungendo features ma senza modificare un solo byte di codice delle librerie e degli .apk?
Sarebbe assolutamente geniale dato che ognuno potrebbe avere le feature che cerca in altre ROM ma tenendo la stock ROM senza nemmeno toccarla! Senza modificare un singolo byte di niente e potendo quindi spegnere (letteralmente) qualsiasi modifica e il sistema torna come prima...dato che non è mai stato toccato.
Questo è Xposed.
Praticamente prende e modifica la app_process (per avere un'idea di cosa stiamo parlando -->
Android Zygote Startup - eLinux.org) e la modifica per permettere di caricare una libreria aggiuntiva.
Qualunque processo standard in corso dialoga con lo Zygote. I moduli usano il framework Xposed per ascoltare cosa fanno i processi e iniettare del codice
al volo (in tempo reale) nel processo...e ne cambiano il comportamento aggiungendo del codice senza dover variare la app! Niente più decompilazione/modifica/ricompilazione di un .apk. Semplicemente si aggiuge ai processi il codice che non hanno
al volo. Se uno spegne un modulo, tutto torna come prima dato che nulla è stato toccato. Quando il modulo smette di interagire con un processo quello torna come prima. Basta rebootare.
Quindi, perchè installare nuove ROM che scrivono o riscrivono le app di sistema (creando mille ROM diverse senza che nessuna abbia tutto) quando basta creare un modulo Xposed che fa la medesima cosa senza cambiare nulla? Quindi, massima libertà nello scegliere un modulo senza dover flashare ROM su ROM per avere la stessa features che uno può avere con un singolo modulo.
E infatti hanno creato moduli che vanno per le stock rom dei samsung, degli Xperia etc etc.
L'unica cosa essenziale è ruscire ad installare Xposed...e la stock ROM dei THL (ma anche degli Zopo) non è compatibile perchè non è praticamente nemmeno più android.
Quindi chi compra un THL se vuole qualcosa di diverso non gli rimane che sperare in una ROM smanettona e spesso piena di incompatibilità mai risolte per tentare di far funzionare Xposed e qualche modulo. E' troppo triste per i miei gusti.
Gli altri inceve fanno così: ho una stock ROM AOSP? Metto Xposed e la Gravitybox e ho già il 70% di tutte le modifiche necessarie per customizzare la mia ROM senza nemmeno toccarla realmente!
Ho un samsung? Metto Xposed e vedo i moduli compatibili per fare le medesime modifiche. Stesso discorso per gli Xperia e così via. Tutto ciò che serve è leggere le descrizioni dei moduli, vedere se sono compatibili con la stock ROM e poi fare attenzione a non usare due moduli diversi per fare la medesima cosa. Fine.
Niente flashing alla disperata ricerca di una ROM, niente di niente. Ecco perchè Xposed è così lodato e perchè sempre più app e moduli lo utilizzano.
Recentemente ho letto di una veloce diatriba fra il creatore di Xposed e i programmatori della MIUI. In breve, quelli della MIUI si erano resi conto di quanto fosse comodo ed efficace Xposed, così hanno pensato bene di inserire il framework in una release ma in forma di test e senza dirlo a nessuno. Sono stati beccati perchè avevano copiato il codice cambiando i nomi dei processi. Rovo ha detto loro che non c'era nulla di male se volevano integrare il codice open source ma che dovevano (come da regola
creative common) dire chi aveva creato il codice e a loro volta rilasciare le modifiche open source.
Morale: hanno risposto che avrebbero immediatamente rimosso il codice. Perchè? Perchè la MIUI (ottima ROM) non è open source e non avrebbero mai rilasciato il codice e quindi hanno rinunciato a Xposed.
E' questo che mi ha portato a sopportare molto poco la MIUI come qualsiasi ROM proprietaria (touchwiz etc etc). Stanno spezzando il mondo Android sempre di più quando invece le idee migliori e la maggior soddisfazione degli utenti arriva quasi sempre dal codice condiviso (Xposed è un esempio). E invece di avere ROM e feature disponibili per tutti e arricchite da una communty ci si ritrova in recinto da cui è difficile uscire.
Se prima i cell. THL erano una scocciatura perchè la MTK non assolve ai suoi obblighi rilasciando gli spec e i codici dell'hardware (non permettendo quindi di aggiornare la versione di android fintanto che la MTK non mette a disposizione un nuovo kernel/boot), oggi stanno persino
deviando da android AOSP in modo radicale. Io capirei se lo facessero scientemente offrendo un supporto mensile per correggere bug e aggiungere feature...ma non fanno nulla di tutto ciò. Solo dopo mesi si è aperto uno spiraglio da parte di MTK di aggiornamento del kernel per poter installare kitkat...e anche se arriva bisogna vedere quanto ci metteranno i rispettivi brand ad aggiornare la stock rom e se mai lo faranno per molti modelli (altrimenti ci si deve ataccare ancora ai porting).
Questo è il loro supporto...ma allora non si spiega una decisione del genere, o almeno io non me la spiego. Se almeno avessero continuato a mettere la AOSP, come ce l'ho nel W200, uno poteva usufrire di Xposed...e invece no. Hanno deciso che gli utenti devono attendere i loro tempi e il loro umore del momento e devono essere felici con la stock ROM...oppure attaccarsi ad un port, spesso di uno smanettone.
Contenti loro ma per me hanno imboccato la strada sbagliata.
Per finire, Cyber...adesso avrai capito che la gravityobx non c'entra nulla con quello che scrivi. Non solo quando disinstalli un'app qualsiasi non ha più effetto sul sistema ma in questo caso (per il modo stesso in cui funziona) anche solo disattivandola (senza nemmeno disinstallarla) fa cessare ogni effetto. Il problema è la ROM da smanettoni.