La guida è sempre in modifica! L'ultimo Aggiornamento è del 02/02/2013
Attenzione!
La guida è stata testata tante volte , l'ho testata su GingerBread , Ice Cream Sandwich e Jelly bean ! Se la vostra rom non si avvia , mettete un logcat qui.
Come fare un logcat !
Non accetto insulti sulla guida se prima non mi postate un logcat , sorry
Ora cominciamo,abbiamo bisogno di:
- Winzip o 7zip
- Una qualsiasi Rom per il vostro device
- Notepad++
- Tanta pazienza...
1. Apriamo la nostra ROM con WinZip
Troveremo 3 File:
- META-INF ;
- system ;
- boot.img ;
A noi interessa la cartella "system" , quindi l'apriamo e noteremo che ci sono delle sottocartelle e un file chiamato build.prop , questo file contiene molte informazioni della vostra ROM , ed è molto importante stare attenti cosa si modifica di esso. Sotto uno screen della prima parte del build.prop di una mia rom.
Le righe del build.prop che potrete toccare senza rischiare bootloop , sono:
* ro.build.version.release=2.3.7
* ro.build.display.id=BlaBlaBla
* ro.product.locale.language=IT
* ro.product.locale.region=it
La prima riga , riguarda la versione android che comparirà nelle info del vostro dispositivo , la seconda invece la versione Build (Tipica delle cm7). Le altre due righe settate in quel modo , invece vi imposteranno la lingua italiana direttamente al primo boot...
Ora la seconda parte del build.prop:
Qui potremo modificare molte più righe perchè non vanno a causare quasi mai problemi. Le Righe modificabili sono:
* ro.com.google.locationfeatures=1 (Mettendo "0" al posto di "1" disabilitate una delle opzioni in Impostazioni>Località e Sicurezza)
* ro.com.google.networklocation=1 (Mettendo "0" al posto di "1" disabilitate la localizzazione tramite rete Wifi o Dati Mobili)
* wifi.supplicant_scan_interval=160 (Inserendo un altro valore al posto di "160" , potrete modificare lo scan delle reti Wifi , utile per risparmiare batteria o aumentare le prestazioni)
* net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960 (Va messa sotto la riga dello scan , potenzia il WiFi in certi casi)
* persist.sys.use_dithering=1 (Lasciando 1 , il Dithering è abilitato. Questo migliorerà la grafica di tutto il sistema , ma ci sarà un consumo di batteria maggiore. In certi casi è utile non abilitarlo , a voi la scelta.
* ro.compcache.default=1 (Definizione di CompCache ---> Qui! , io la tengo sempre a "1")
* ro.setupwizard.mode= (Inserire "DISABLED" , per disabilitare il SetupWizard all'avvio.
* ro.config.ringtone=Themos.ogg (Serve a configurare una suoneria presente in system/media/ringtones)
* ro.config.notification_sound=Vega.ogg (Questa invece configura un suono di notifica presente in system/media/notifications)
* ro.config.alarm_alert=GoodMorning.ogg (Configura un suono di Allarme (Sveglia) presente in system/media/alarms)
* ro.modversion=Oxigen-V7.0 (In tutte le CyanogenMod Rom è presente , è la famosa "Versione CyanogenMod o Versione Mod)
L'ultima parte della modifica del build.prop la voglio dedicare ai Tweak vari che si possono inserire...sotto ne trovate un paio che ho provato e funzionano...
Tutte le modifiche al build.prop vanno fatte con WordPad o Notepad++ !!persist.sys.purgeable_assets=1
ro.media.enc.hprof.vid.bps=8000000
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.jpeg.quality=100
dalvik.vm.heapsize=48m
debug.sf.hw=1
video.accelerate.hw=1
debug.performance.tuning=1
ro.config.nocheckin=1
ro.ril.disable.power.collapse=1
pm.sleep_mode=1
ro.telephony.call_ring.delay=0
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
media.stagefright.enable-record=false
Questi erano , alcuni dei Tweak che io uso , ne potete trovare tanti altri digitando su Google "build.prop Tweak" , Buon Divertimento!
Dopo aver modificato il build.prop , concentriamoci sulle sottocartelle di /system. La figura in basso , è solo un esempio di come potrebbe potrebbe essere la sottocartella system , poichè potrete notare in più la cartella "T9DB" , necessaria per la tastiera Samsung !
Ho cerchiato in rosso le cartelle facilmente modificabili , in blu quelle di livello avanzato e in verde la cartella "framework" perchè è una parte essenziale di ogni Rom !
In system/app troveremo tutte le app di sistema , qui potremo eliminare gli apk che non ci servono e aggiungerne altri. Per esempio il Launcher , ogni utente vuole cambiarlo , nel caso delle CyanogenMod 7 basta eliminare il file ADWLauncher ...in altre rom , starà a voi intuire quale è il Launcher. Ricordate che in system deve esserci sempre un Launcher per evitare un BootLoop infinito...se invece lo mettete in /data/app , dovrete stare attenti che non lo cancelliate perchè a quel punto dovrete riflashare la vostra Rom. (Più sotto troverete le indicazioni per mettere delle app in /data.)
Di seguito le Applicazioni che non vanno rimosse da una rom perchè potrebbero avvenire dei Force Close
* AccountAndSync
* ApplicationsProvider
* CalendarProvider
* CertInstaller
* Contacts
* Contacts Dialer
* Phone
* DefaultContainerService
* DownloadProvider
* DownloadProviderUI
* DrmProvider
* GoogleBackupTransport
* FOTA Kill
* GoogleCalendarSyncAdapter
* GoogleContactsSyncAdapter
* GoogleFeedback
* GooglePartnerSetup
* GoogleServicesFramework
* MarketUpdater
* MediaProvider
* MediaUploader
* Mms
* NetworkLocation
* OneTimeInitializer
* PackageInstaller
* Setting
* SettingsProvider
* SystemUI
* SetupWizard
* VpnServices
* TelephonyProvider
Molte di queste app possono essere modificate , decompilandole tramite dei Tool --> Come Decompilare un apk
Ora passiamo a "fonts" , qui ci sono tutti i Font della vostra Rom. Si possono cambiare facilmente scaricandone altri e inserendoli nella cartella oppure andando su UOT Kitchen...
Le ultime due cartelle "media" e "tts" sono semplicissime da modificare , nella prima dovremo inserire nelle sottocartelle dei file audio in formato .ogg che preferiamo. Troveremo anche un file bootanimation.zip , che sarebbe l'immagine che compare all'avvio. Si può cambiare anche questa , ne potete scaricare un po qui --> Clicca Qui!
Nella seconda troveremo le lingue per pico tts , io le tolgo tutte tranne quelle Italiane , le riconoscete perchè all'inzio del nome hanno la scritta "IT o ES" per esempio.
2. Livello Avanzato
Se volete attuare più modifiche , procedete con la lettura.
Ci sono 3 cartelle molto importanti per il sistema , sono quelle che ho cerchiato in blu , ovvero:
- bin
- etc
- lib
Bin contiene i comandi e file bin della rom. Non va rimosso o modificato nessun file ! Al massimo , si aggiunge qualche file bin (Tipo per Adrenaline Boost).
Etc contiene dei settaggi e cose extra per le rom
lib ci sono tutte le lib per le app di sistema per farle funzionare. Assolutamente da non modificare o rimuovere nessun file!
In etc possiamo modificare la sottocartella "init.d" che contiene degli script , ne possiamo aggiungere infiniti ma attenzione a metterne troppi: 1. Il sistema diventa instabile e lento ; 2. Ci potrebbero essere conflitti e la rom potrebbe non bootare ; 3. Meno Script pesanti si aggiungono meglio è ;
E' possibile modificare anche il file "gps.conf" per settare il gps nel nostro paese e far prendere i satelliti più velocemente, potete usare il mio ---> File gps.conf ;
E' possibile modificare anche il file hosts , per esempio per disabilitare le pubblicità. Basterà sostituirlo con questo qui --> File Host ; Infine nelle CyanogenMod è presente il file CHANGELOG-CM.txt , sarebbe un changelog , potete modificarlo come meglio vorrete.
In lib possiamo mettere le librerie di alcune app che se messe in /system/app crashano senza avviarsi. Basta seguire le indicazioni da questo post -->
Clicca Qui!
Infine della cartella /system ci rimane framework. E' la parte essenziale di una rom , senza questo essa non parte. Contiene tutta la grafica della Rom ed è modificabile solo il framework-res.apk con facilità. Vi basterà caricarlo su UOT Kitchen oppure decompilandolo tramite la guida per decompilare gli apk.
Ora passiamo alla famosa cartella /data che tutti vogliono inserire...
1. Creare una cartella dentro lo zip della Rom chiamata "data"
2. Dentro questa creare un'altra chiamata "app"
3. Inserire gli apk che volete come App Utente
4. Aprire il file updater-script, che si trova in META-INF>com>google>android , e copiare queste righe prima dell'ultima riga (unmount("/system");):
5. Salvare il File updater-script (Fate attenzione che notepad++ abbia l'opzione Converti carattere di fine linea in UNIX)run_program("/sbin/busybox", "mount", "/data");
package_extract_dir("data", "/data");
set_perm(1000, 1000, 0771, "/data");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/app");
set_perm_recursive(1000, 1000, 0771, 0644, "/data/data");
package_extract_dir("sdcard", "/sdcard");
run_program("/sbin/busybox", "umount", "/data");
6. Finito
Per far comparire delle scritte durante l'installazione della vostra rom , aprire l'updater-script e aggiungere questa riga ui_print("scrivere qualcosaqui"); all'inizio e se volete alla fine prima di unmount system.