Originariamente inviato da
bluflight13
Vi riporto e condivido con tutti voi questa guida che mi è stata di grande aiuto molte volte soprattutto all'inizio quando cercavo di capire come decompilare e modificare file con estensione “.jar”
Partiamo dal presupposto che dobbiamo avere già un minimo di conoscenza nel campo del modding e soprattutto avere tutti i pacchetti java correttamente configurati sul nostro pc, ma su questo non mi dilungo molto, vi riporto solo i passaggi fondamentali presi dall'ottima guida creata dal collega Steulm nel thread “l'angolo dei cuochi”:
PRESTATE SEMPRE MOLTA ATTENZIONE ALLA CORRETTA INSTALLAZIONE DI TUTTI I PACCHETTI JAVA IN QUANTO LA MAGGIOR PARTE DEI PROBLEMI DI ERRORI IN DECOMPILAZIONE/COMPILAZIONE (COME ANCHE CON APKTOOL) DERIVANO PROPRIO DA UNA NON CORRETTA INSTALLAZIONE DI JAVA
- Detta questa premessa, passiamo alle spiegazioni riguardo all'utilizzo di questo tool:
1) per prima cosa scarichiamo il materiale che ci serve da qui
Thebyani_baksmail-smali.zip.html
2) scompattiamo il contenuto in una cartella a nostro piacimento, trovando questo contenuto
3) come esempio partiremo col decompilare l' “android.policy.jar”,che andrà preso dalla nostra rom/progetto e copiato nella cartella da noi appena creata
4) Nei file che troverete nella cartella appena scompattata ci sono 2 file essenziali:
1.bat (il decompilatore)
2.bat (il compilatore)
- Per decompilare il nostro .jar possiamo semplicemente cliccare due volte su “1.bat” (questo comando ha in memoria già la stringa di comando per decompilare col nome del nostro .jar, in questo caso android.policy.jar. Se volete decompilare un altro file basta editare 1.bat con un programma di editing tipo notepad++
e sostituire il nome del .jar col nome del file che vogliamo decompialre, sempre seguito dall'estensione .jar)
- In alternativa potere usare i comandi manuali facendo partire il “command prompt”:
Vi si aprirà una schermata dove poter inserire i seguenti comandi:
codice:
- PER DECOMPILARE:
java -jar baksmali.jar -x nome.jar -o classout (dove “nome” sarà il nome del vostro file.jar)
codice:
- PER COMPILARE:
java -Xmx512M -jar smali.jar classout -o classes.dex
- Una volta utilizzato il primo comando per compilare verrà creata una cartella di nome “classout” dove all'interno troverete il codice smali relativo al vostro file.
Adesso potete andare a modificare all'interno quello che vi interessa sempre utilizzando notepad++ (non utilizzare MAI il notepad di windows). Una vola terminata la modifica alla stringa che vi interessa salvate e chiudete notepad++.
- Adesso possiamo utilizzare il comando “2.bat” per ricompilare il tutto, creando il file “classes.dex” (che troverete sempre nella root della cartella).
- Non ci resta che rendere effettive le modifiche quindi:
--> clicchiamo col destro sul nostro “android.policy.jar” e selezioniamo “apri con” 7-zip file manager”
--> prendiamo il file “classes.dex” precedentemente creato e trasciniamolo dentro il nostro “android.policy.jar” appena aperto con 7zip. Chiederà conferma di copiare all'interno il file, diamo sempre si
chiudiamo la finestra e copiamo il nostro “android.policy.jar” correttamente modificato nella sua corrispettiva posizione all'interno del telefono per testare le modifiche appena fatte
----------------------------------------------------------------------------------------------------------------------------------------
- L' “android.policy.jar” utilizzato in questa guida è stato preso come esempio e può essere sostituito con qualsiasi altro file.jar sia di vostro interesse modificare, seguendo sempre le medesime procedure.
----------------------------------------------------------------------------------------------------------------------------------------
- Ringrazio in primis la mia socia e amica malo2000 per i suoi sempre preziosi consigli e per l'ottimo lavoro di squadra che ci spinge ogni volta a cercare di migliorarci e "osare sempre quel qualcosa in più", il collega SteUlm per i suoi utilissimi post all'interno del thread L'angolo dei cuochi, per i suoi consigli e l'utente althebyani di xda [TOOL] Baksmali/Smali for ICS - xda-developers per avermi fatto scoprire questo tool per compilare/decompilare i .jar
----------------------------------------------------------------------------------------------------------------------------------------
Io non sono un programmatore e non conosco java, ma se siete armati di tanta pazienza e mossi da una grande passione, con questi semplici consigli e ottimi tool riuscirete come me senza problemi a fare le modifiche che cercate, ovvio un minimo di conoscenza nell'ambiente ci vuole