|
! JDK/JRE (ultima versione), quindi verificate ed installate o aggiornate Java sul vostro PC !
Molto probabilmente dovremmo specificare il percorso delle jdk nelle variabili d'ambiente nelle opzioni avanzate di sistema:
Se la variabile non è presente, dopo aver installato il pacchetto jdk, createla. Nel valore basta inserire il percorso di installazione come da figura.
-apktool (Dev-Host - [Window XP_7_8][GB_ICS_JB] Apktool and baksmaling + Signer v2 by ibanez7.zip - The Ultimate Free File Hosting / File Sharing Service), per decompilare e ricompilare i file che andremo a modificare; Estraete l'archivio dove più vi pare e piace, magari dentro una cartella chiamata apktool o Giovanni, Giuseppe, come vi pare insomma :-D
-Notepad++, un potente editor di testo per modificare il codice sorgente dei file xml;
- 7zip, un tool per gestire archivi compressi.
NOTA: Una volta installato, cliccate con il tasto dx mouse su un qualsiasi archivio (.zip, .rar o quello che è) selezionando Proprietà, cambia in "apri con..." e selezionare come eseguibile il file manager 7zFM.exe da C:\Program Files\7-Zip, in modo che potremmo aprire gli archivi semplicemente cliccando due volte ;-)
- I file da modificare:
*framework-res.apk
*SysteUI.apk
NOTA: Quelli della ROM sulla quale volete fare la modifica.
F Fff FFFattooooo??!?!! ;-) Adesso possiamo cominciare a fare le nostre modifiche.
1) Copiare i file * nella cartella di apktool
Per prima cosa estraete i file citati sopra dalla ROM che state utilizzando e copiateli nella cartella di apktool. Un backup di questi file invece teneteli
da parte, capirete più avanti il perché.
2) Aprire la shell cmd
Una volta copiati i file e posizionati nella cartella di apktool, bisogna richiamare la shell di Windows, che serve per l'esecuzione dei tools di apktool. Per farlo in modo semplice basta tenere premuti i tasti fisici CTRL+Shift e premere il tasto destro del mouse, selezionando dal menu "Apri command Prompt qui"
3) Comincia la decompilazione (in rosso i comandi di apktool fondamentali e che dovrete imparare)
NOTA: Non chiudere mai il cmd durante la modifica dei file, altrimenti la successiva ricompilazione non avrà successo! :P
Bene,ora ci tocca installare il framework-res.apk per far si che Apktool svolga il suo lavoro senza errori,siccome molte APK di sistema dipendono proprio dal Framework...
Per farlo basta digitare da terminale cmd:
codice:
apktool if framework-res.apk
dovremmo ottenere il seguente risultato:
codice:
I: Framework installed to: C:\Users\nomeutente\apktool\framework\1.apk
4) Per modificare i DPI della navbar dovremmo modificare sia il framework che la systemui, cominciamo dal framework-res. apk:
Per decompilare il framework bisogna dare il seguente comando:
codice:
apktool d framework-res.apk
Vedrete qualcosa di simile nel terminale:
codice:
I: Loading resource table…
I: Loaded
I: Decoding file-resources…
I: Decoding values*/* XMLs…
I: Done
I: Copying assets and libs…
al termine dell'esecuzione troveremo nella directory di apktool una cartella avente lo stesso nome dell'app che abbiamo decompilato.
Possiamo adesso andare a dare un occhiata ai file e modificare dove riteniamo opportuno.
* Per modificare i dpi della navbar si procede in questo modo:
Recarsi in /framework-res/res/values/ e aprire il file "dimens.xml" con notepad++ e modifichiamo i valori navbar height e navbar width con i valori che vogliamo.
Ad es. per avere una navbar a 36dpi modificheremo il valore dell'altezza a 36 e la larghezza a 32 (quindi la larghezza è il valore dell'altezza a meno di 4 dpi);
Fatto questo salviamo e ricompiliamo il framework-res dando il seguente comando:
codice:
apktool b framework-res
Se tutto andrà bene, hopefully :-D dovremmo vedere una cosa del genere:
codice:
W:Could not find sources
I:Checking wheter resources has changed…
I:Building resources…
I:Building apk file…
Il file che ci interessa adesso, il resources.arsc, si trova nella cartella /framework-res/build/apk/. Apriamo con 7-zip il framework-res.apk che abbiamo decompilato precendentemente, per intenderci quello che si trova nella cartella di apktool, come se fosse un archivio. Cancelliamo il file resources.arsc originale e trasciniamoci il nuovo file resources.arsc, quello che si trova in /framework-res/build/apk/, e confermate a 7zip con Yes che siete sicuri che volete copiare il file all'interno del framework-re.apk.
Il framework-res.apk è terminato. Ora bisogna fare qualche piccola modifica anche alla SystemUI.apk.
5) Modifica della SystemUI.apk
Il framework è già installato, decompiliamo la SystemUI.apk dando il seguente comando:
codice:
apktool d SystemUI.apk
Rechiamoci in /SystemUI/res/layout/ e apriamo il file navigation_bar.xml. Dovremo cercare le seguenti parti di codice:
codice:
@drawable/ic_sysbar_back" android:scaleType="center"
@drawable/ic_sysbar_back_land" android:scaleType="center"
e cancellare "android:scaleType="center"" altrimenti dopo la modifica del framework, si potrebbero riscontrare degli artefatti visivi per quanto riguarda la visualizzazione corretta del pulsante "indietro" (apparirebbe più grande).
Per trovare le due parti da cancellare, premete all'interno di Notepad++ CTRL+F cosi da richiamare il tool per ricercare parole all'interno dell'.xml, incollate tramite CTRL+V le due stringhe, una alla volta ovviamente. Una volta individuate cancellate quel pezzetto di codice, prestando bene attenzione a mantenere uno spazio, come nell'immagine che segue:
5) Compilazione della SystemUI.apk
E qui dovremo prestare molta attenzione!!!!!!!!
Prima ricompilazione:
codice:
apktool b SystemUI
La nuova SystemUI.apk si trova nella cartella /SystemUI/dist, ma non è quella che ci serve.
Questa operazione quindi non ci fornisce la nuova UI pronta per essere utilizzata, perché sprovvista del file manifest.
Rechiamoci nella cartella dove si trova la SystemUI.apk che abbiamo usato nella decompilazione ed apriamola come se fosse un archivio con 7zip.
Apriamo di lato la cartella /apktool/SystemUI/build/apk come da immagine e copiamoci i due file evidenziati che trovate all'interno della SystemUI originale:
A questo punto prima di ricompilare, cancelliamo la SystemUI.apk generata durante la prima compilazione, per intenderci quella che si trova nella cartella /SystemUI/dist
Una volta fatto possiamo procedere alla compilazione:
codice:
apktool b SystemUI
La SystemUI.apk che si trova nella cartella dist è quella buona.
Adesso non resta che creare uno zip per flashare il framework (che si trova nella cartella apktool) e la SystemUI (che so trova in /apktool/SystemUI/dist/)...
-----------------------------------------------------------------------------
Per sapere di più su apktool seguite questa guida:
[Super Noob Guide] How To Decompile .apk & Recompile .apk In Just 2 Sec - xda-developers |