CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: megthebest con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: megthebest con ben 10 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 38 Thanks ricevuti nell'ultimo mese

Pagina 1 di 30 12311 ... ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 300
Discussione:

[Guida] APK Multi-Tool: Come decompilare/compilare un APK

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Androidiano L'avatar di polabai


    Registrato dal
    Oct 2012
    Messaggi
    237
    Smartphone
    Galaxy Nexus,Ace 5830i,KIRK-3A

    Ringraziamenti
    50
    Ringraziato 355 volte in 125 Posts
    Predefinito

    [Guida] APK Multi-Tool: Come decompilare/compilare un APK

    APK Multi-Tool 1.0.11: Come decompilare/compilare un APK

    Cosa impareremo da questa guida:

    Questa guida nasce per aiutare coloro che vogliono entrare attivamente nel mondo del modding ma sono scoraggiati dalla sua immensità come fu per il mio esordio, per questo vi accompagnerò per mano alla porta principale (proprio come farebbe una mamma con il suo piccolo) presentandovi il primo straordinario e fondamentale strumento APK Multi-Tool 1.0.11 con il quale cominceremo a gettare i primi passi.

    Prima di iniziare però voglio precisare che quello che fate è a vostro rischio e pericolo e siete responsabili per eventuali problemi che potreste causare al vostro Nexus.

    Cosa ci serve per poter iniziare:

    1) Prima di tutto avremo bisogno di configurare l'ambiente di lavoro Windows (JDK, Android SDK, driver ecc.) e per questo vi rimando (temporaneamente finchè non trovo un pò di tempo, perdonatemi per questo) alla guida sullo Sblocco Manuale del Nexus dato che è già stato spiegato li.
    2) 7-Zip per aprire i file .zip e scaricabile da qui.
    3) Il nostro APK Multi-Tool 1.0.11 che potete scaricare da qui oppure da qui.
    4) Notepad++ che potete scaricare da qui.
    5) Il file framework-res.apk della ROM che avete installata o per la quale volete realizzare la Mod che trovate al percorso rom.zip\system\framework\.
    6) Il file.apk che volete decompilare/compilare per apportare le modifiche volute.

    Installiamo APK Multi-Tool 1.0.11:

    Estraiamo il contenuto del file APK-Multi-Toolv1.0.11.zip in una cartella qualsiasi purchè sia nel percorso completo che nel nome della cartella stessa non ci siano spazi cioè C:\ANDROID\APK-Multi-Tool-1.0.11\APK-Multi-Tool\ va bene invece C:\ANDROID\APK Multi-Tool 1.0.11\APK-Multi-Tool\ non va bene.
    A questo punto dovreste trovarvi il seguente albero dei file come da screenshot:


    Fate partire il file Setup.bat e vi troverete la seguente schermata.


    A questo punto solo la prima volta bisogna creare le cartelle tramite l'opzione 3. Setup Directories poi digitare 00 Quit e invio per uscire, il tool ha creato delle altre cartelle di cui parleremo più sotto quando ci serviranno.

    Abbiamo finito di predisporre tutto l'ambiente di sviluppo ed ora possiamo procedere alla decompilazione del nostro primo file.apk.

    Decompiliamo il nostro primo file.apk:

    Prendiamo come esempio proprio il file framework-res.apk che estrarremo dalla nostra ROM, questo file è "speciale" perchè oltre ad essere per noi un qualsiasi file APK da modificare è anche il file da cui attingono anzi dipendono tutti gli altri APK "non speciali" .
    Proprio per questo suo essere speciale il file framework-res.apk della ROM va copiato in 2 diverse cartelle cioè place-apk-here-for-modding ed in other, in genere invece i vari file.apk vanno copiati solo in place-apk-here-for-modding ed è qui che li ritroveremo anche dopo la ricompilazione.

    A questo punto bisogna installare il framework-res.apk, lanciamo allora Setup.bat digitiamo 2. Installing Framework-Res poi digitare 1. Install framework-res.apk infine digitare 00 Quit e invio per uscire, la stessa procedura sarà effettuata ad ogni cambio di ROM, anche nel cambio di nightly nel caso della CM.
    Una volta installato il framework-res.apk possiamo decompilarlo e darci un'occhiata dentro ... tanto per sbirciare un pò , per decompilare qualsiasi file.apk dobbiamo seguire questa procedura:

    1) Mettere il file.apk da decompilare nella cartella place-apk-here-for-modding (lo abbiamo già fatto prima per il file di esempio framework-res.apk).
    2) Lanciamo il file Script.bat dalla cartella di APK Multi-Tool e dopo un Invio ci ritroviamo la seguente schermata (screenshot valido solo per la versione 1.0.11 di APK Multi-Tool usato in questa guida).


    3) Digitiamo 24 Set current project per scegliere il file da decompilare (nel nostro esempio scegliamo framework-res.apk) e diamo Invio .
    4) Decompiliamo il framework-res.apk digitando 9 Decompile apk e dando Invio come sempre per confermare la scelta.

    A questo punto il tool procederà alla decompilazione del framework-res.apk all'interno della cartella projects/framework-res.apk/ e potremo procedere alle varie modifiche.

    Facciamo ora un esempio concreto di modifica al framework-res.apk per mettere in pratica quello che abbiamo appena imparato.

    Esempio: Modifica altezza NavBar da 48dpi a 36dpi.

    Per realizzare la modifica dell'altezza della NavBar andiamo nella cartella \framework-res.apk\res\values\ ed apriamo con Notepad++ il file dimens.xml, cerchiamo la seguente porzione di codice e cambiamo i valori originali:
    codice:
    <dimen name="navigation_bar_height">48.0dip</dimen>
    <dimen name="navigation_bar_height_landscape">48.0dip</dimen>
    <dimen name="navigation_bar_width">48.0dip</dimen>
    con questi modificati per avere la NavBar da 36dpi (per una 32dpi useremo analogamente la coppia di valori 32.0/30.0):
    codice:
    <dimen name="navigation_bar_height">36.0dip</dimen>
    <dimen name="navigation_bar_height_landscape">48.0dip</dimen>
    <dimen name="navigation_bar_width">34.0dip</dimen>
    Ricompiliamo il nostro primo file.apk:

    Dopo aver apportato le modifiche volute ad immagini, file .xml e file .smali siamo giunti alla fase della ricompilazione e non vediamo l'ora di buttare il nuovo file.apk moddato dentro il nostro caro Nexus per goderci il nostro primo capolavoro
    A questo punto però si aprono 2 strade a seconda che abbiamo moddato un file di sistema (appartenente alla nostra rom) oppure un file non di sistema quale potrebbe essere un tema.apk, percorriamo allora le 2 strade:

    1) Ricompilazione APK di sistema (no signed) opz. 11
    Ricompiliamo il nostro framework-res.apk appena modificato procedendo con i vari passi:

    - Digitiamo 11 Compile System APK files e diamo invio, dopo qualche secondo ci apparirà il seguente messaggio
    codice:
    Aside from the signatures, would you like to copy
    over any additional files that you didn't modify
    from the original apk in order to ensure least
    # of errors (y/n)
    Type input:
    - Digitiamo y e dopo aver premuto Invio il tool creerà una cartella chiamata keep e ci verrà restituito il seguente messaggio
    codice:
    In the APK Multi-Tools folder u'll find
    a keep folder. Within it, delete
    everything you have modified and leave
    files that you haven't. IF you have modified
    any xml, then delete resources.arsc from that
    folder as well. Once done then press enter
    on this script.
    Premere un tasto per continuare ...
    Prima di premere un tasto per andare avanti, dobbiamo cancellare dalla cartella keep tutti i file modificati (.xml e/o .png), inoltre se abbiamo apportato modifiche ai file .smali va cancellato il file classes.dex e se è stato modificato anche 1 solo file .xml va cancellato anche il file resources.arsc, ritorniamo nella schermata del tool e premiamo un tasto per completare la mod.
    - A questo punto abbiamo finito nella cartella place-apk-here-for-modding troviamo il nostro file moddato unsignedframework-res.apk che deve essere rinominato in framework-res.apk.

    (Per applicare la mod bisogna poi realizzare uno zip flashabile oppure sostituire nel Nexus il framework-res.apk dando i permessi rw r r e riavviando il dispositivo.)

    2) Ricompilazione APK non di sistema (signed) opz. 15 (All in one)
    In questo caso la procedura è molto più semplice:

    - Attivare il debug usb sul nexus e collegarlo al PC (se non lo attivate poco male, vi ritrovate comunque il file nella cartella place-apk-here-for-modding e potrete installarlo manualmente
    - Digitare 15 Compile apk / Sign apk / Install apk (Non-System Apps Only) e premere invio, in un colpo solo il file sarà ricompilato, signato ed installato sul nexus ... figo no ?
    - Anche in questo caso abbiamo finito e come nel caso precedente vi ritrovate il nuovo APK modificato e signato nella cartella place-apk-here-for-modding con il nome signedNomeOriginale.apk che potete mettere in archivio o in SD per eventuale uso futuro.

    Credo di non aver dimenticato nulla, se qualcuno vuole provare a decompilare e ricompilare può cominciare a realizzare ad esempio la modifica alla navbar.
    Segnalatemi eventuali errori o dimenticanze così cerchero di integrare e/o correggere prima possibile magari tramite MP per non sporcare il Thread.


    Piccola video guida:



    Spero con questa guida di aver fatto cosa gradita e che apprezziate l'impegno e lo sforzo non indifferente.

    Saluti,
    Paola.
    Ultima modifica di polabai; 25-09-13 alle 01:37 - Motivo: Aggiunta Video Guida
    <-- Per chi volesse ringraziare ... il tasto è questo sulla sinistra alla fine del Post !

  2. I seguenti 29 Utenti hanno ringraziato polabai per il post:

    aaasss10 (11-11-13),ancidroide (08-12-13),Andronietto (10-12-13),asterixb (16-09-13),Brrmatteo (01-05-14),cricu75 (28-11-13),dadenet (18-09-13),dubledude (20-07-14),Eddy2302 (31-03-14),fabris3 (10-09-13),fedelamb (27-10-13),giangc (03-07-15),gilbez (10-01-14),Grlschia (17-10-13),IlPessimoFra (04-01-14),japoco_poz14 (27-01-14),leonardodettoileo (17-09-13),megauser (27-12-13),morfances (10-09-13),NiloGlock (05-05-14),pranorre (03-11-14),SamueleCiprietti (10-09-13),simoconfa (08-10-14),superdild (10-09-13),S_mario (10-09-13),Tex99 (24-09-13)

  3.  
  4. #2
    Androidiano L'avatar di polabai


    Registrato dal
    Oct 2012
    Messaggi
    237
    Smartphone
    Galaxy Nexus,Ace 5830i,KIRK-3A

    Ringraziamenti
    50
    Ringraziato 355 volte in 125 Posts
    Predefinito

    Smali / Baksmali 2.0b6: Come decompilare/compilare un file JAR

    Cosa ci serve per poter iniziare:

    1) 7-Zip per aprire i file .zip e .jar e scaricabile da qui.
    2) Il nostro pacchetto smali-baksmali-2.0b6 che potete scaricare da qui oppure i singoli file smali-2.0b6.jar e baksmali-2.0b6.jar dalla pagina ufficiale qui .
    3) Notepad++ che potete scaricare da qui.
    5) Il file android.policy.jar che trovate all'interno della ROM in \system\framework\ e che ci servirà per l'esempio pratico.

    Installazione di Smali/Baksmali 2.0b6:

    In realtà non si tratta di una vera e propria installazione ma della predisposizione della cartella di lavoro, ad ogni modo apriamo con 7zip il file smali-baksmali-2.0b6.zip appena scaricato ed estraiamo il contenuto sul desktop, dentro la cartella smali-baksmali appena estratta troverete già il necessario per poter lavorare più un ulteriore file di testo con le istruzioni base.


    Procedura di Decompilazione e Ricompilazione:

    Supponiamo di voler decompilare il file android.policy.jar, preleviamo il file dalla cartella \system\framework\ della ROM e copiamolo nella nostra cartella di lavoro smali-baksmali, apriamo la finestra di comando tenendo premuto il tasto Shift e facendo click col tasto destro del mouse su Apri finestra di comando qui


    Nella finestra di comando digitare

    codice:
    java -jar baksmali-2.0b6.jar android.policy.jar -o android.policy
    verra creata la cartella android.policy contenente tutti i file decompilati, modificate il file voluto con Notepad++ (es. \com\android\internal\policy\impl\ PhoneWindowManager.smali vedi Guida STATUS BAR TRASPARENTE) e salvate, quindi ricompilare digitando nella finestra di comando

    codice:
    java -jar smali-2.0b6.jar android.policy -o classes.dex
    questo produrra il file classes.dex modificato, a questo punto abbiamo quasi terminato.

    Per completare dobbiamo semplicemente aprire il file android.policy.jar originale con 7zip e trascinare al suo interno il file classes.dex appena creato sovrascrivendo l'originale.

    FINITO !!!

    Credo di non aver dimenticato nulla, se qualcuno vuole provare a decompilare e ricompilare può cominciare a realizzare ad esempio la modifica per la status bar trasparente lavorando sul file android.policy.jar.
    Segnalatemi eventuali errori o dimenticanze così cerchero di integrare e/o correggere prima possibile magari tramite MP per non sporcare il Thread.



    Spero con questa guida di aver fatto cosa gradita e che apprezziate l'impegno e lo sforzo non indifferente.

    Saluti,
    Paola.
    Ultima modifica di polabai; 26-09-13 alle 20:55 - Motivo: Formattazione
    <-- Per chi volesse ringraziare ... il tasto è questo sulla sinistra alla fine del Post !

  5. I seguenti 10 Utenti hanno ringraziato polabai per il post:

    aaasss10 (30-10-14),dadenet (27-09-13),fari (30-12-14),fedelamb (27-10-13),japoco_poz14 (27-01-14),MasterH (22-03-14),miseusegau (14-10-13),Nautiluz (03-12-13),Tex99 (24-09-13)

  6. #3
    Androidiano L'avatar di polabai


    Registrato dal
    Oct 2012
    Messaggi
    237
    Smartphone
    Galaxy Nexus,Ace 5830i,KIRK-3A

    Ringraziamenti
    50
    Ringraziato 355 volte in 125 Posts
    Predefinito

    Riservato per integrazioni future.
    <-- Per chi volesse ringraziare ... il tasto è questo sulla sinistra alla fine del Post !

  7. I seguenti 5 Utenti hanno ringraziato polabai per il post:

    fandroid86 (30-10-14),fedelamb (27-10-13),japoco_poz14 (27-01-14),Tex99 (24-09-13)

  8. #4
    Senior Droid L'avatar di fabris3


    Registrato dal
    Mar 2012
    Messaggi
    564

    Ringraziamenti
    133
    Ringraziato 28 volte in 27 Posts
    Predefinito

    Guida perfetta però troverei utile inserire tutte le mod applicabili per chi come me non sa cosa modificare

  9. #5
    Androidiano L'avatar di polabai


    Registrato dal
    Oct 2012
    Messaggi
    237
    Smartphone
    Galaxy Nexus,Ace 5830i,KIRK-3A

    Ringraziamenti
    50
    Ringraziato 355 volte in 125 Posts
    Predefinito

    Quote Originariamente inviato da fabris3 Visualizza il messaggio
    Guida perfetta però troverei utile inserire tutte le mod applicabili per chi come me non sa cosa modificare
    Ciao fabris3,
    grazie per il tuo suggerimento ma questo thread nasce proprio come propedeutico ad un'altro di prossima pubblicazione dedicato alle mods per CM10.2 ed Euroskank 10.2 dove saranno inserite le mod già pronte da flashare e le guide per realizzare da soli le principali e più comuni mod.

    Saluti,
    Paola.
    <-- Per chi volesse ringraziare ... il tasto è questo sulla sinistra alla fine del Post !

  10. Il seguente Utente ha ringraziato polabai per il post:

    fabris3 (10-09-13)

  11. #6
    enricocid
    Guest
    Predefinito

    Complimenti Paola per la guida

  12. #7
    Senior Droid L'avatar di superdild


    Registrato dal
    Aug 2011
    Messaggi
    451

    Ringraziamenti
    53
    Ringraziato 302 volte in 187 Posts
    Predefinito

    ciao Paola, complimenti per la nuova e completa guida,
    ti volevo chiedere se con questo soft e' possibile anche decompilare i .jar (tipo android.policy.jar) che servono per alcune mod???
    magari quando hai tempo si potrebbe aggiungere qualcosa...(io faccio ancora tutto da riga di comando.... )

    ciao e grazie per tutti i lavori che porti avanti sul forum

    saluti, mario

  13. #8
    Androidiano L'avatar di polabai


    Registrato dal
    Oct 2012
    Messaggi
    237
    Smartphone
    Galaxy Nexus,Ace 5830i,KIRK-3A

    Ringraziamenti
    50
    Ringraziato 355 volte in 125 Posts
    Predefinito

    Quote Originariamente inviato da superdild Visualizza il messaggio
    ciao Paola, complimenti per la nuova e completa guida,
    ti volevo chiedere se con questo soft e' possibile anche decompilare i .jar (tipo android.policy.jar) che servono per alcune mod???
    magari quando hai tempo si potrebbe aggiungere qualcosa...(io faccio ancora tutto da riga di comando.... )

    ciao e grazie per tutti i lavori che porti avanti sul forum

    saluti, mario
    Ciao Mario,
    esiste una nuova versione del tool (non ricordo esattamente il numero di versione credo 1.0.12) che dovrebbe decompilare anche i .jar ma la usai solo qualche ora perché dava problemi nella firma degli apk non di sistema e sono tornata alla 1.0.11, per questo motivo non ho avuto modo di testare quella nuova feature.

    Saluti,
    Paola.
    <-- Per chi volesse ringraziare ... il tasto è questo sulla sinistra alla fine del Post !

  14. #9
    Androidiano VIP L'avatar di dadenet


    Registrato dal
    Jan 2012
    Messaggi
    3,550
    Smartphone
    GNexus, Nexus 5/6

    Ringraziamenti
    270
    Ringraziato 1,209 volte in 954 Posts
    Predefinito

    Ben arrivata Paola !
    with SCREW'D ROM + Adb e Fastboot command + Prima di flashare Rom e Kernel Guida ai Wipe

  15. #10
    Androidiano L'avatar di polabai


    Registrato dal
    Oct 2012
    Messaggi
    237
    Smartphone
    Galaxy Nexus,Ace 5830i,KIRK-3A

    Ringraziamenti
    50
    Ringraziato 355 volte in 125 Posts
    Predefinito

    Quote Originariamente inviato da dadenet Visualizza il messaggio
    Ben arrivata Paola !
    Grazie mille dadenet,
    cerco di dare il mio piccolo contributo come tanti altri già fanno da un po anzi colgo l'occasione per ringraziarli.

    Saluti,
    Paola.
    <-- Per chi volesse ringraziare ... il tasto è questo sulla sinistra alla fine del Post !

Pagina 1 di 30 12311 ... ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy