Mia antica guida che torna a splendere dopo anni di stasi. Solo per voi.

I file .APK, che trattiamo molto spesso sotto forma di app o giochi, sono come gli .EXE per Windows o come i .deb per Linux Debian e derivate. Sappiamo bene che possiamo trovarle in giro già fatte, ma sapete che potete modificarle con appositi programmi per adattarli alle vostre esigenze? Vi porto un esempio. Immaginate di voler cambiare le icone, o dei parametri ad una specifica app. Per farli, decompilatela, modificatela manualmente e poi compilatela. Fine. Semplice, no? Ora andiamo a vedere come si fa 🙂

Cosa mi serve per decompilaree compilare un APK Android?

Serviranno un po di programmi, ecco quali:

A) Scaricate Java da qui;

B) Scaricate 7zip da qui;

C) Scaricate NotePad++ da qui;

D) Scaricate APK Multi Tool da qui;

E) Prendete il file framework-res.apk della ROM che avete installata o per la quale volete realizzare la modifica che trovate al percorso rom.zipsystemframework.

Tutto pronto!

Cosa devo fare?

Installate tutti i programmi scaricati.

A) Estraete 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, ad esempio C:ANDROIDAPK-Multi-Tool-1.0.11APK-Multi-Tool;

B) Doppio click sul file Setup.bat, vi si aprirà la seguente schermata:

decompilare-apk

C) Scegliete l’opzione 3. Setup Directories. A questo punto il tool creerà delle cartelle, nel percorso in cui si trova il tool, che vi serviranno per la procedura. Appena finito, chiudetelo manualmente, oppure selezionate 00 Quit.

Iniziamo la decompilazione!

A) Prendete il file framework-res.apk (file “speciale” da cui dipendono tanti APK di sistema, diverso da ROM a ROM) e copiatelo dentro le cartelle place-apk-here-for-moddingother;

B) Adesso installatelo aprendo il file Script.bat. Selezionate 2. Installing Framework-Res e poi 1. Install framework-res.apk  e chiudete (NOTA: L’installazione del framework-res.apk dev’essere fatta ogni volta che cambiate ROM);

C) Adesso decompilate un APK. Per farlo, copiate l’APK che volete modificare dentro la cartella place-apk-here-for-modding e aprite il file Script.bat:

apk-multi-tool

D) Selezionate 27 Set current project per scegliere il file da decompilare;

E) Una volta scelto, selezionate 9 Decompile apk per “spacchettare” l’APK che volete modificare. A fine procedimento, troverete il file aperto su projects/nomeapkcheavetedecompilato.

Modificate il vostro apk, sbirciate tra i file, curiosate! sono tutte scritte in inglese ma, con un pò di coraggio, combinerete qualcosa 😀

E per ricompilarlo dopo le mie modifiche?

METODO 1: Ricompilazione app di sistema (no signed)

A) Beh, semplicissimo. Aprite il file Script.bat, selezionate il progetto da compilare con 24 e selezionate 11 Compile System APK files. Se tutto va bene, avrete questo messaggio:

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:

B) date e procedete. Verrà creata una cartella di nome Keep e vi verrà restituito questo messaggio:

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 …

C) prima di premete un tasto per continuare, andate nella cartella Keep appena creata e cancellate tutti i file modificati (.xml e/o .png) inoltre, se avete apportato modifiche ai file .smali va cancellato il file classes.dex. Se se è stato modificato anche 1 solo file .xml va cancellato anche il file resources.arsc. Ritornate nella schermata del tool e premete un tasto per completare la modifica;

D) A questo punto avete finito e nella cartella place-apk-here-for-modding trovate il vostro file moddato, ad esempio, se l’app si chiama camera.apk, si chimaerà unsignedcamera.apk che dovete rinominare in camera.apk;

E) L’app è pronta. Per inserirla nel telefono, o create uno .zip flashabile oppure lo inserite su /system/app e con ROOT Explorer gli date i permessi.

METODO 2: Ricompilazione app non di sistema (signed)

A) Questa procedura è molto più semplice della precedente. Attivate il Debug USB del telefono in cui volete inserire l’APK modificato e collegatelo al PC tramite cavo USB;

B) Su Script.bat selezionate 15 Compile apk / Sign apk / Install apk (Non-System Apps Only). Premete invio e….in un colpo solo il file sarà ricompilato, “signato” ed installato sul vostro dispositivo Android. Geniale, no? 😀

(inoltre, come nel caso precedente, troverete  una copia dell’APK sulla cartella place-apk-here-for-modding col nome signedNomeOriginale.apk. magari la utilizzate in futuro!).

Bene amici, per questa guida è tutto, spero di essere stato esaustivo e completo. Nel caso così non fosse, beh. Chiedete pure! 🙂

  • Elio De Angelis

    vale anche per apk come i launcher android?

    • Vale per qualsiasi applicazione. Si, è normale.

      • Elio De Angelis

        ok.. quindi questo percorso rom.zipsystemframework si trova su qualsiasi device che monti android come SO? Anche un mini pc android come remix mini che monta Remix OS?

        • No, quel percorso è riferito a quello che crea il programma sul PC, non è presente su Android.

          • Elio De Angelis

            a me non si crea.. inoltre non capisco una cosa: il punto E dà per scontato che noi già lo abbiamo ancor prima di installare il tool però dici che la cartella la crea il tool.. dove sbaglio?

          • La cartella place-apk-here-for-modding non viene creata?

          • Elio De Angelis

            no eppure nella schermata esce che è stata creata

          • Elio De Angelis

            sto dando di matto.. non è che qualcuno potrebbe provarci al posto mio se allego l’apk in questione? Almeno per capire se il problema sono io (incapacità, componenti del pc, etc.) o è l’apk

          • Ho appena provato. Nel momento in cui seleziono l’opzione 3, la cartella “place-apk-here-for-modding” viene creata all’interno della stessa cartella contenente il file setup.bat.

          • Elio De Angelis

            ci riprovo

          • Elio De Angelis

            ma non lo metto in dubbio.. non capisco cosa non va sul mio pc visto che quando premo 3 la schermata mi dice che la cartella si è creata

          • Per allegarlo basta cliccare sull’icona dell’immagine in basso a sinistra appena si inizia a scrivere il commento.

          • Elio De Angelis
          • Potrebbe essere perché il terminale non riesce a trovare il percorso sul disco F (dove stai eseguendo il file) e magari l’ha creato in una pseudo cartella sul disco C. Prova a fare la stessa cosa copiando però tutti i file sul desktop del disco C principale. Dovrebbe risolversi.

          • Elio De Angelis

            ci provo, grazie

          • Elio De Angelis

            ho capito il problema: la guida è sbagliata.. non si deve premere mai 24 perchè è un comando che non c’entra niente, difatti se premo subito 9 per decompilare funziona

          • Ho confuso 27 con 24, correggo subito. Prova 27 per scegliere il file da modificare. Grazie per il feedback!

          • Mi fa piacere 🙂