Originariamente inviato da
bluflight13
- GUIDA: come utilizzare apk-tool per decompilare/compilare gli apk
NE IO NE IL FORUM CI ASSUMIAMO RESPONSABILITA' PER DANNI AI VOSTRI DEVICES
ALCUNI PARTICOLARI SARANNO DATI PER SCONTATI, IN QUANTO CONSIDERO CHE SI ABBIA GIA' UN MINIMO DI PRATICA NEL MONDO DEL MODDING, IN QUANTO LA GUIDA SOTTO NON E' PROPRIO ADATTA A CHI E' ALLE PRIME ARMI
- COSA CI SERVE PER COMINCIARE:
1) dobbiamo avere installato correttamente su pc java JDK (Java Developement Kit), DOWNLOAD QUI
Java SE Development Kit 7u25 (da scaricare la versione corrispondente al vostro sistema operativo, se windows versione a 32bit o 64bit)
2) una volta finita l'installazione dobbiamo verificare la variabile d'ambiente, modificarla o crearla se assente
- cliccate col tasto destro su risorse del computer > Proprietà > Impostazioni Avanzate > Avanzate > Variabili d'Ambiente
- in variabili di sistema cerchiamo la Variabile "Path". Se non è presente, aggiungetela premendo "Nuova" e in nome variabile scriviamo Path mentre in valore variabile inseriamo il percorso del file javac.exe che troveremo nella cartella del JDK nel percorso di installazione.... (da me è: C:\Program Files\Java\jdk1.7.0_07\bin)
- se invece la variabile Path è già presente basta modificarla aggiungendo il percorso sopra. Aggiungiamo un punto e virgola alla fine dell'indirizzo attuale per aggiungere il nuovo percorso
2) procediamo con installare
android SKD (android software development kit), DOWNLOAD QUI
Download Android SDK. Una volta installato, apriamo "android SDK Manager" e ci troveremo di fronte a questa scheramta:
- se vi compare un messaggio di aggiornamento come in immagine nel riquadro rosso indicato dalla freccia, date ovviamente conferma per l'installazione dei nuovi pacchetti e di quelli aggiornati
- se per caso vi riporta un errore nel download dei pacchetti di aggiornmento, chiudete SDK Manager e riapritelo coi privilegi di amministratsore di windows (click destro, esegui come amministratore) e rifate partire gli aggiornamenti
3) controlliamo adesso di avere pure le variabili d'ambiente di SDK correttamente impostate dentro
risorse del computer > Proprietà > Impostazioni Avanzate > Avanzate > Variabili d'Ambiente
- in particolare controllate di avere: C:\Program Files (x86)\Android\android-sdk;C:\Program Files (x86)\Android\android-sdk\tools;C:\Program Files (x86)\Android\android-sdk\platform-tools;C:\Program Files (x86)\Android\android-sdk\platforms;
- ovviamente può variare la cartella di destinazione, io ho appunto "C:\Program Files (x86)\", da voi può variare
4) adesso procediamo con l'impostare "
Apk-tool", un programma che ci permettà di decompilare e compilare i nostri apk:
- scarichiamo Apk-Manager da qui: dropbox
- aprite lo zip appena scaricato, quindi estrate la cartella che trovate dentro mettendola direttamente in "c:\"
5) bene, adesso apriamo la cartella "Apk-Manager" e dentro troveremo questa situazione:
- dentro other troviamo tutti i pacchetti e script necessari al corretto funzionamento di apk tool in tutte le sue funzioni
- dentro place-apk-here-for-modding dovremo mettere i nostri apk originali da decompilare
- dentro projects troveremo gli apk decompilati in formato "cartella" all'interno delle quali troviamo il contenuto dei singoli apk da modificare:
- mi soffermo appositamente solo su queste tre cartelle in quanto sono il necessario esseniziale per una corretta decompilazione
6) adesso bisogna prendere alcuni accorgimenti prima di arrivare alla decompilazione vera e propria col programma:
- partiamo dal presupposto che per ogni apk che vogliamo decompilare, prima dobbiamo dare le dipendenze al programma della rom cui vogliamo decompilarne gli apk
- questa è un'operazione da fare una volta sola, ma da rifare per ogni base firmware diversa cui prendiamo gli apk da decompilare. Mi spiego meglio, fin che lavoriamo su apk di una rom base MEA per esempio, l'operazione sotto è da fare una volta sola. Se poi prendiamo apk da un'altra rom che è basata su un firmware diverso (MGA magari) allora la dobbiamo rifare
- prendiamo systemUI.apk, framework-res.apk, tw-framework-res.apk dallo zip della rom originaria (dalla quale vogliamo prendere l'apk da decompilare) e mettiamoli nella cartella other
- entriamo adesso dentro la cartella other, e per dare le dipendenze basta far partire i 3 file bat chiamati systemUI, framework-res, tw-framework-res, ci cliccate sopra ognuno, si aprirà una finestrella di comando che poi si chiuderà da sola, sempre per ognuno
7) bene, adesso che le dipendenze sono state create, possiamo far partire il programma:
- clicchiamo 2 volte sul bat script e vi si aprirà questa schermata:
7) i comandi base da usare appena apriamo apk tool saranno:
- comando 19: andiamo a impostare il livello di compressione, che deve essere 0
- comando 20: andiamo a impostare la massima dimensione, che deve essere 512
- comando 22: andiamo a selezionare l'apk su cui vogliamo lavorare e decompilare. Scegliamolo mettendo il numero ripettivo, e diamo invio per confermare la selezione. Il nome dell'apk che abbiamo in lavorazione sarà sempre scritto in alto a sinistra
- comando 9: andiamo ad effettuare la decompilazione dell'apk. In basso a sinistra della finestra comparirà una scritta che indica la lavorazione, quando sparisce vuol dire che la decompilazione è finita ed è possibile cominciare con le modifiche
- dentro la cartella projects adesso troveremo la cartella col nostro apk appena decompilato pronto da modificare. Qui adesso possiamo entrarci dentro per modificare quello che vogliamo, che siano png, xml o smali
- i comandi/passaggi vanno fatti in sequenza così come scritti e ordinati qui sopra
- se vi riporta errore già in fase di decompilazione vuol dire che non sono state date correttamente le dipendenze, rifate il passaggio al punto 6
8) adesso una volta fatte tutte le modifiche, passiamo alla
compilazione:
- comando 11: facciamo partire la compilazione dell'apk, comparirà la scritta in basso a sinistra Building apk. In base agli apk può essere che ci metta un attimo e sembra bloccato, niente paura dategli fiducia
- comparirà la scritta Is this a system apk (y/n), se sono apk che prendete da "system/app o framework" della vostra rom date y e invio
- adesso chiede di copiare i file originali per evitare errori, date sempre y e invio
- vedrete scorrere a video tutti i file, e si fermerà a una nuova richiesta. Adesso se guardate nella cartella del programma (dove abbiamo le cartelle other, projects ecc), viene creata una cartella provvisoria chiamata keep, all'interno della quale bisogna andare a cancellare a mano tutti gli xml o png che abbiamo modificato. Questo perchè nella cartella keep risiedono tutti i file origniali degli apk, che se non cancelliamo vanno a sovrascrivere quelli che abbiamo appena modificato, annullando qundi tutte le modifiche che abbiamo fatto
- se avete modificato xml, va inoltre cancellato il file resources.arx
- se avete modificato smali, va inoltre cancellato il file classes.dex
- una volta che siete sicuri di avere cancellato tutto quello che avete modificato, premete un tasto qualunque e tornerete in automatico nella schermata principale di apk tool
9) l'apk appena ricompilato lo treveremo adesso nella cartella
place-apk-here-for-modding, e sarà nominato per esempio
unsignedSystemUI (nel caso fosse il systemUI). Teniamo sempre presente che:
- gli apk di sistema non vanno MAI signati a parte, sono già a posto cosi come li ricrea apk tool