Visualizzazione stampabile
-
[GUIDA] Modifica ROM
Avete rootato il vostro Ace, installato una rom custom, overclockato il kernel, cambiato il launcher, installato la recovery, inserito due comandi da terminale sul vostro Android ma ancora non siete soddisfatti? Questa è la guida che fa per voi.
Modifica rom e creazione zip flashabile via recovery
• Modifica script di sistema (build.prop, init.d) con tweaks custom anche su ROM originali
• Modifica suoni di sistema (camera click, suono al lock del telefono, etc)
• Modifica fonts
• Modifica app di sistema
• Modifica bootanimation
• Modifica lockscreen (ma me la devo ancora studiare!)
Modifica via UOT Kitchen
UOT Kitchen. Kitchen
Occhio a non combinare casini, se sbagliate qualcosa il telefono non si avvierà più e dovrete riflashare il sistema, dunque dovete assumervi la responsabilità di ciò che combinate col vostro device perché io vi darò le informazioni giuste.
Valutazione capitolo
[★☆☆☆☆] Facilissimo
[★★☆☆☆] Non crea difficoltà
[★★★☆☆] Di una certa difficoltà
[★★★★☆] Impegnativo, ci vuole parecchio tempo
[★★★★★] Complicato, non consigliato ai principianti
-
0 - Passi preliminari
0.1 Dal tuo pc, scarica una rom custom (compatibile con il nostro ace!) e scompattala.
0.2 All'interno della cartella, troverai diversi files. Quelli assolutamente necessari sono:
||||- boot.img
||||- system
||||- META-INF
0.3 Devi avere un qualche programma che permetta di zippare le cartelle (sembra stupido, ma...)
[★☆☆☆☆] 1 - Modifiche al file build.prop
1.1 - Intro
Eccoci alla prima parte della guida!
Avrete sicuramente dato un'occhiata ai files che avete scompattato precendente. Bene, uno dei più interessanti a prima vista è sicuramente il file build.prop.
Il suddetto file contiene tutte le informazioni sul nostro smartphone, quali versione android, tipo di processore... Ed è tranquillamente modificabile. Questa prima parte serve prima di tutto per introdurvi al mondo delle modifiche alle ROM, senza fare qualcosa di troppo complicato, ma nemmeno così banale.
1.2 - Ma porta qualche beneficio effettuare queste modifiche?
Modificare il file build.prop può migliorare:
- Velocità dispositivo
- Velocità avvio
- Velocità connessione/upload/download/navigazione internet
- Risparmio batteria
1.3 - Come faccio?
Effettuare le modifiche è molto semplice, basta aprire il file build.prop con un editor di testo ed aggiungere le righe desiderate dopo l'ultima.
Il file si trova nella cartella /system. Ovviamente è necessario il root.
1.4 - Modifiche che si possono effettuare
Tweaks per il miglioramento della connessione
ro.ril.hsxpa=1
ro.ril.gprsclass=10
ro.ril.hep=1
ro.ril.enable.dtm=0
ro.ril.hsdpa.category=8
ro.ril.enable.a53=1
ro.ril.enable.3g.prefix=1
ro.ril.htcmaskw1.bitmask=4294967295
ro.ril.htcmaskw1=14449
ro.ril.hsupa.category=6
Risparmio energetico
ro.ril.disable.power.collapse=1
pm.sleep_mode=1
wifi.supplicant_scan_interval=180
windowsmgr.max_events_per_sec=150
Debug.performance.tuning=1
Video.accelerate.hw=1
Varie
ro.HOME_APP_ADJ=1
dalvik.vm.heapsize=64m
persist.adb.notify=0
ro.kernel.android.checkjni=0
Fate attenzione, non tutti i miglioramenti possono essere effettivi.
[★★★☆☆] 2 - Creare un file zip per l'update via recovery
Questa volta sarà più complicato. Impareremo come modificare il file build.prop creando un file zip per l'aggiornamento da recovery. E' molto più comodo modificare il file via editor di testo, ma questa può essere considerata come un'introduzione alla creazione dei nostri primi files zip.
2.0 - Cosa ci serve?
Un programma per decomprimere archivi zip, e per crearne di nuovi.
Autosign, per firmare il file zip in modo che sia utilizzabile da recovery.
Autosign, Windows - http://forum.xda-developers.com/show....php?t=1248486
Autosign, Mac - http://forum.xda-developers.com/showthread.php?t=573498
2.1 - Creare le cartelle
Il contenuto principale del file zip sono due cartelle:
- META-INF
- system
META-INF contiene le informazioni su cosa il sistema deve copiare nelle varie cartelle
system conterrà ciò che deve andare nel filesystem (in questo caso solo il file build.prop)
Solitamente io lavoro con una cartella che fa da "progetto", e contiene i files con la seguente struttura:
+ modifica_build
|||| + files
|||||||| + system
|||||||||||| build.prop
|||||||| + META-INF
||||||||||| file vari
|||| file.zip
|||| file_signed.zip
Poi, la scelta va a voi :)
2.2 - Modifica file build.prop
Modifica il file build.prop dopo averlo scaricato dal tuo telefono con i tweaks posti qui sopra, a tuo piacimento.
Detto questo, salvalo nella cartella system.
2.3 - Modifica META-INF
Per il contenuto della cartella META-INF il discorso è un po' più complicato, vi consiglio di copiare il suo contenuto da una mod in vostro possesso. L'unico file da modificare è updater-script, posto nella cartella META-INF/com/google/android
Il file updater-script serve per spiegare alla recovery quali files sia necessario copiare nelle varie cartelle di sistema. Vediamo che linguaggio bisogna utilizzare per questo file.
Stampa di un messaggio utente
ui_print("Stampa questo messaggio");
Monta la cartella /system
run_program("/sbin/mount", "/system");
Mostra la barra di completamento
show_progress(frazione, durata);
dove frazione indica il progresso da indicare (0 = 0%, 0.5 = 50%, 1 = 100%), e durata il tempo che ci mette per "riempirsi"
Estrae dallo zip la cartella system e la copia nella cartella /system nel filesystem
package_extract_dir("system", "/system");
Smonta la cartella /system
run_program("/sbin/umount", "/system");
Come potete vedere, con pochissimo codice possiamo copiare tutto il contenuto del nostro pacchetto zip in modo che venga applicato sul cellulare.
Questa è la sintassi che ho usato per il pacchetto .zip che ho creato per l'update dell'ormai famigerato build.prop
Quote:
ui_print("This script will update your build.prop file with some useful tweaks.");
ui_print("Please wait...");
ui_print("___________________");
ui_print("Modifying the file build.prop…");
run_program("/sbin/mount", "/system");
show_progress(1, 15);
package_extract_dir("system", "/system");
run_program("/sbin/umount", "/system");
ui_print("___________________");
ui_print("Script enabled successfully!");
2.4 - Creare il pacchetto zip
Errori da evitare!
- Bisogna zippare le due cartelle META-INF e system e NON la cartella che li contiene!
- Ricorda di signare il file zip
Detto questo, comprimiamo il pacchetto con un utility come 7zip, o Winrar, oppure con l'utility integrata in MacOS X.
2.5 - Firmare il pacchetto per renderlo flashabile da recovery
Procedura Windows
Auto-sign è molto semplice, basta selezionare "sign a single zip", navigare tra le cartelle, selezionare il file zip creato prima, e quindi indicare il nome da dare al pacchetto firmato.
Procedura Mac
Copiare il nostro file zip nella cartella Auto-sign
Aprire il terminale
Spostarsi nella cartella Auto-sign (cd Desktop/Auto-sign se la tenete sul desktop)
Eseguire java -jar signapk.jar testkey.x509.pem testkey.pk8 update.zip update_signed.zip sostituendo ad update.zip e ad update_signed.zip i nomi di input ed output.
2.6 - Ultimi passi
Da qui in poi è più semplice!
Copiamo il file firmato nella SD, accendiamo il cellulare in recovery, install zip from SD card, ed è fatta!
[★★★★☆] 3 - Modifiche ai file apk
3.1 - Cosa ci serve?
MacOS X
- Android Utility (bit.ly/nD56vc)
- Terminale
- Auto-sign (http://www.mediafire.com/?jmal0kktjy2)
- Un editor di testo (consiglio Smultron)
- Un editor immagini (Photoshop/Gimp)
- Gli apk che abbiamo intenzione di modificare
Windows XP/Vista/7
- Apk Multi-Tool (http://apkmultitool.com/downloads/AP...Toolv1.0.2.exe)
- CMD
- UpdatezipCreator (RAR)
- Editor di testo (Notepad++, ma va bene anche il blocco note normale)
- Editor immagini (Photoshop/Gimp)
- Gli apk da modificare
3.2 - Cominciamo!
Prima di tutto, recuperiamo l'apk da modificare. Da una ROM, scaricato, non importa, basta averlo.
MacOS X
Apriamo andutil da terminale, ci porterà ad un'interfaccia che ci permette di svolgere diverse operazioni. Innanzitutto, decompiliamo l'apk dopo averlo posto nella cartella working-folder/mod-here-solo/, selezionando prima 6 e poi 2. Troveremo l'apk decompilato nella cartella working-folder/mod-here-solo/*nome_apk*, apriamo la cartella, e potremo modificare l'apk! Non solo i file png (/res/drawable), ma anche gli xml che compongono l'interfaccia vera e propria dell'applicazione! Ovviamente per modificare i files xml serve una conoscenza del linguaggio non indifferente, quindi per chi non lo conoscesse sconsiglio di andarli a toccare.
Dopo aver modificato l'apk, bisogna ricompilarlo.
Da andutil, come prima, nel menu apk (6) questa volta selezioniamo 4 (recompile APK). Troveremo l'apk ricompilato nella cartella /working-dir/mod-here-solo/*nome_apk*/dist. Andiamo a copiarlo nella cartella system dove prima avevamo modificato il file build.prop, creiamo una cartella chiamata "app" e portiamoci dentro l'apk modificato.
Fatto questo, firmiamo lo zip come avevamo fatto precedentemente (paragrafo 2.5), e flashiamolo da recovery.
Windows XP/Vista/7
Scaricato l'APK Multi-Tool (APKMT da qui in poi), bisogna procedere con l'installazione. Vi consiglio di installarlo nella cartella Programmi/APK Multi-Tool (non è specificata di default!) e tenetevela sotto mano, perché bisognerà lavorarci parecchio.
Installato APKMT, dovrete copiare l'apk da modificare nella cartella "place-apk-here-for-modding". Aprite il programma (script), si aprirà automaticamente la linea di comando.
Ecco i passi per modificare gli apk:
// Procedura non corretta, non seguitela (ancora! :))
1) Copia apk nella cartella "place-apk-here-for-modding"
2) 25 (Seleziona progetto)
3) 1 (O comunque il'apk da modificare)
4) 1 (Estrai APK)
5) 9 (Decompila)
6) Trovete la cartella con i files da modificare in "projects"
7) Effettua le modifiche che desideri (Modifica png, oppure xml)
8) 3 (Zip APK)
9) 2 (Dovremo firmarlo nuovamente)
10) 4 (Firma APK)
11) Troveremo l'APK nella cartella "place-apk-here-for-modding", con il nome "signed*Nome_APK_Originale*
[
-
[★★★★☆] 4 - Modificare codice Java contenuto in un'applicazione (*N.B. Java richiesto*)
MacOS X
- Auto-sign
- Android Utility
Possiamo modificare (o anche soltanto visualizzare, per curiosità) i file .java presenti all'interno dell'apk di una qualunque applicazione.
Questa è l'organizzazione delle cartelle di un file apk:
AndroidManifest.xml
+ assets
|||| + fonts
|||||||| fonts vari
classes.dex
+ com
|||| files vari (non di nostro interesse ora)
+ META-INF
|||| Lo conosciamo già (2.3)
+ res
|||| Lo conosciamo già (modifica XML)
resources.arsc
Il file che contiene ciò che ci interessa è classes.dex. Esso infatti contiene le classi java che controllano tutta l'applicazione. Ma, se lo apriamo con un text editor, ci troveremo di fronte a dei caratteri incomprensibili. Ci verrà in aiuto Android Utility: ha una comodissima funzione per decompilare i files .dex e trasformarli in classi java leggibili (dentro ad un JavaARchive).
1) Mettiamo il nostro apk nella cartella di Android Utility "mod-here-multi"
2) Modifichiamo l'estensione del file .apk in .zip
3) Scompattiamo l'archivio
4) Dentro l'archivio troveremo il file "classes.dex"
5) Copiamo il file "classes.dex" nella cartella "mod-here-multi"
6) Apriamo Android Utility e selezioniamo l'opzione numero 8 (dex code utility)
7) Selezioniamo l'opzione numero 5 (Translate .dex to Java .class) e premiamo invio
8) Troverà il file .dex, diamogli ancora invio
9) Torniamo al menu Dex e minimizziamo Android Utility
10) Nella cartella "0dex2jar" all'interno di "mod-here-multi" troveremo un file .jar
11) Rinominiamo il file .jar in .zip e scompattiamo
12) Ecco le nostre bellissime classi!
13) A te il compito di modificarle nel modo giusto (occhio che l'apk può essere compattato, firmato ed installato anche se ci sono errori in Java, quindi non commettere errori, o riceverai comportamenti anomali dall'applicazione!) ;)
14) Selezioniamo tutto il contenuto della cartella (non la cartella, il contenuto!) e zippiamolo
15) Modifichiamo nuovamente l'estensione, da .zip a .jar
16) Spostiamo nuovamente il file .jar nella cartella "mod-here-multi"
17) Torniamo su Android Utility, compiliamo il file .jar
//* Incompleto *//
-
Ti ho sistemato il titolo del topic giusto per poi restare ordinata quando sarà messa in rilievo. Appena hai ultimato la guida la metto all'istante in sticky, per il resto ti becchi subito un thanks per l'ottimo lavoro che stai svolgendo :D
-
Vale solo per Galaxy Ace? :)
-
Quote:
Originariamente inviato da
sifottagreg1
Vale solo per Galaxy Ace? :)
Sì e no! Alcune cose sono comuni a tutti gli android, altre sono specifiche per l'Ace.
-
Update! Ho apportato modifiche importanti al secondo post, leggete e applicate! ;)
-
Veramente ben fatto, direi che ormai può stare in rilievo :D
Inviato dal mio GT-S5830 usando Tapatalk
-
Quote:
Originariamente inviato da
Akumetsu
Veramente ben fatto, direi che ormai può stare in rilievo :D
Inviato dal mio GT-S5830 usando Tapatalk
Sto già aggiungendo un altro capitolo :DD
-