Cerca con Google

Translate

10 ottobre 2014

Tutorial - Cambiare il PackageName della nostra app creata con App Inventor - Parte 1


Parte 1 - In questo tutorial andremo a vedere come sia finalmente possibile cambiare il packagename della nostra App creata con MIT App Inventor.

Per chi non lo sapesse il packagename viene definito per ogni app Android ed identifica in maniera univoca la nostra applicazione nel Google Play Store (Guida manifest da documentazione ufficiale)

In MIT App Inventor tutte le app che creiamo hanno sempre un packagename fisso che non è possible cambiare (almeno fino ad oggi...) ed è composto nel seguente modo:

appinventor.ai_username.nomeapp

La parte in rosso è fissa mentre ovviamente "username" e "nomeapp" saranno diversi in base all'utente ed al nome del vostro progetto.
Qui sotto potete vedere la mia app come appare nel Play Store ed il suo packagename (appinventor.ai_seblog2k.Acqua_Alta)



Purtroppo avere il packagename fisso comporta alcuni problemi, il più grosso di questi il non poter caricare le nostre app su market alternativi quali ad esempio SlideMe e tanti altri (questi market non accettano app create con App Inventor ed altri tool simili)
Inoltre un app con packagename "appinventor" può sembrare meno professionale di altre create con l'SDK nativo Android che in genere hanno packagename del tipo "com.username.nomeapp"

Fortunatamente grazie al lavoro di Glassy e PuraVidaApps si è trovato un modo per cambiare il nome del package in pochi passaggi.

Per prima cosa accertiamoci di avere installati nel nostro pc i due seguenti tools (click per download):
7-Zip
PsPad (attenzione ad installare solo PsPad e non le altre toolbar che vi vengono proposte durante l'installazione)

Poi scarichiamo anche APKStudio (la versione 1.0.02 andrà benissimo, ignorate versioni più recenti)
Creiamo due cartelle in C:\ (così è più facile seguire il tutorial)

AppInventor
AItemp

Copiamo APKStudio in C:\AppInventor e scompattiamo il contenuto con 7-Zip
Copiamo nella stessa cartella il file della nostra app compilato in MIT App Inventor (quindi con estensione .apk)

Lanciamo APKStudio con doppio click:


Una volta nel programma scegliamo Open APK e selezioniamo il nostro apk di cui vogliamo cambiare il nome del package:


Nel nostro esempio vogliamo utilizzare l'apk chiamato
Submarine_Shooter.apk:


Parte il processo di decompilazione della nostra app, attendete il completamento:


Al termine dell'operazione vedrete creata una cartella con estensione -apkstudio
Attenzione che il programma sembrerà bloccato, in realtà quando la barra è piena avrà terminato correttamente il suo lavoro:


Se per caso il pc rallenta, andate in task manager e verificate se il processo java.exe occupa troppo CPU time, se è così terminatelo pure:


Ora prendete il file con estensione .jar e copiatelo nella cartella creata in precedenza C:\AItemp :


Estraete con 7-Zip il contenuto del file .jar nella cartella che vi suggerisce 7-Zip:


Il nostro packagename generato in automatico da MIT App Inventor è:
appinventor.ai_seblogapps.Submarine_Shooter
lo vogliamo cambiare in
com.seblogapps.Submarine_Shooter

Procediamo quindi in questo modo:
Per prima cosa entriamo nella cartella appena creata, troveremo una sottocartella chiamata "ai_seblogapps" (ovviamente nel vostro caso sarà ai_vostrousername)
La rinominiamo col nuovo nome, sempre nel nostro esempio "seblogapps"


Torniamo indietro di una directory ed apriamo questa volta il file .jar con 7-Zip (tasto destro e scegliamo 7-Zip -> Apri):


Ecco come si presenta il contenuto del nostro file .jar della nostra app:


In 7-Zip entriamo nella cartella "com" poi dall'altra finestra di explorer, quella dove avevamo fatto il rename prendiamo la nostra cartella che era sotto "appinventor" (seblogapps) e la copiamo all'interno dell'archivio aperto in 7-Zip come in figura qui sotto:


Nota: Se volete che il vostro packagename non inizi con "com" ma con qualcos'altro, ad esempio supponiamo vogliate un packagename del tipo:
it.seblogapps.Submarine_Shooter, dovrete creare nell'archivio aperto una cartella "it" e mettere al suo interno la sottocartella "seblogapps"
In pratica per ogni separatore (il punto) nel packagename dobbiamo avere una cartella e nell'ultima cartella ci deve essere il nostro progetto estratto con APKStudio

Prendiamo la cartella "appinventor" e cancelliamola con il comando Elimina:

Ora possiamo chiudere 7-Zip

Ricopiamo il nuovo archivio .jar appena aggiornato nella cartella con estensione -apkstudio utilizzata prima:


In pratica ora il nostro file .jar ha al suo interno la nuova struttura delle directory relativa al nuovo packagename

Continuate a leggere nella parte 2 del tutorial le ultime operazioni da fare, clicca QUA per proseguire



4 commenti:

  1. Bella guida provai il tool poco tempo fa avevo usato altri programmi simili tipo al posto di 7zip usato winrar e al posto di pspad usato notepad++ lunica pecca di apkstudio é che quando 'ripacca' l'apk lo firma con una firma causale e bisogna firmarla con tool a parte

    RispondiElimina
    Risposte
    1. Grazie! si ovviamente si possono usare un sacco di tools alternativi, a me piace 7-zip e pspad per la loro semplicità ma nessuno vieta di usarne altri.
      Per quanto riguarda la firma, hai ragione per questo è sempre meglio poi "trattare" l'apk con App2Market per sistemare la firma e altre cose prima di caricare su Play Store o altri market.
      Mi hanno anche consigliato di provare con apk-info per avere tutte le info del file apk in modo semplice e rapido

      Elimina
    2. Ok, di apkinfo non ne sapevo nulla grazie mille :D

      Elimina
    3. salve ...avrei bisogno di un a informazione...dopo aver modificato il package della mia applicazione e dopo aver fatto il repackage come faccio a firmare la mia applicazione con il keystore scaricato da app inventor?Ho provato con apptomarket ma quando vado a decompilare l'applicazione al primo step il programma mi restituisce un errore non permettendomi di andare avanti...a presto grazie

      Elimina