Per leggere la Parte 1 clicca QUA
In questa guida stiamo cambiando il packagename della nostra app da:
appinventor.ai_seblogapps.Submarine_Shooter
a
com.seblogapps.Submarine_Shooter
Andiamo ad aprire con PsPad il file AndroidManifest.xml che è stato estratto da APKStudio partendo dal file compilato .apk
Come vedete alla voce "package" nel manifest abbiamo il nome fisso ed impostato automaticamente da MIT App Inventor:
Dovremo andare a sostituire in tutti i file tutte le occorrenze del packagename originale con quello nuovo, scegliamo quindi la voce "Ricerca" - "Trova/Sostituisci nei file..."
Cambiamo il packagename attuale con il nuovo
Attenzione che tutte le altre opzioni siano selezionate come nello screenshot qui sotto, in particolare che NON sia spuntata la voce "Solo parole intere" e che stiate lavorando sulla cartella corretta (ovvero quella con desinenza -apkstudio) e che l'opzione "includi sottocartelle" sia selezionata:
Dopo qualche minuto avremo conferma che la stringa è stata sostituita (di solito circa 5 occorrenze):
Infine dobbiamo cambiare il packagename ma nell'altra "versione" , ovvero quella con lo slash (/) come separatore, quindi da
appinventor/ai_seblogapps/Submarine_Shooter
a
com/seblogapps/Submarine_Shooter
Il procedimento è uguale a quanto appena fatto, facciamo solo attenzione nel sostituire il punto con lo slash:
Le sostituzioni che verranno effettuate in questo secondo caso saranno sempre almeno più di 1000:
Siamo quasi alla fine! Apriamo nuovamente APK Studio ma questa volta scegliamo l'opzione "Open Directory" :
E selezioniamo di nuovo la nostra directory iniziale, con suffisso -apkstudio:
Vogliamo ricompilare la nostra app ma con il nuovo packagename, per farlo selezioniamo l'opzione "Repackage"
Dopo qualche minuto il nostro nuovo apk con il packagename sostituito sarà pronto nella cartella "dist":
Finalmente abbiamo finito!
La procedura può sembrare complicata ma vi assicuro che capito il meccanismo e fatta un paio di volte la rifarete in pochi minuti ogni volta che ne avrete necessità.
Come detto in apertura di questo articolo consiglio di cambiare il packagename solo se avete intenzione di caricare la vostra app in market alternativi che non permettono il caricamento di app realizzate con MIT App Inventor (in pratica con questo metodo "nascondiamo" le tracce lasciate da AI)
Come ultima precisazione fate attenzione che in pratica il packagename è la "firma" della vostra app , se la cambiate dopo aver già pubblicato l'app il market rifiuterà l'update perchè verrà riconosciuta come un app diversa...
Fate anche molta attenzione alla firma con cui l'apk viene firmato.
APK Studio non permette di selezionare una firma propria, per questo non dimenticatevi di processare il file apk con il sempre ottimo App2Market per impostare la propria firma.
Per ogni domanda commento problema o suggerimento, usate i commenti qui sotto.
Ciao, prima di tutto complimenti per il blog e grazie per tutte le info che diffondi.
RispondiEliminaTi contatto per chiederti:
1. come si disattiva o modifica il tasto fisico menu.
2. Meglio appinventor di Jose o di Hussein? Nel caso di Hussein i 5 dollari al mese vanno pagati anche quando non lo utilizzi?
3. Non riesco a far decompilare il file apk da AppToMarket, mi da errore.
Saluti e grazie.
1 - con la versione standard di AI non è possibile
Elimina2 - Penso quella di Hossein, mi pare più aggiornata, per il resto prova a chiedere nel forum
3 - Strano, se hai modo prova da un altro pc, oppure prova con il tool di questa guida, alla fine fa praticamente la stessa cosa
Ciao, scusa se insisto su quest'argomento:
RispondiElimina1. Qual'è la versione non standard
2. Puoi indicarmi il link della versione di Hossein?
Saluti e grazie
Le versioni non standard sono quelle prese dal codice sorgente del MIT e poi modificate da utenti volenterosi.
EliminaLe due più famose sono quelle di Josè e di Hossein,
ti linko la discussione al forum per la versione di Hossein che permette di fare molte più cose rispetto ad AI standard ma non è gratis
http://venicetideads.altervista.org/index.php?p=/discussion/1638/nuovo-prezzo-promo-per-lacquisto-della-versione-ai2livecomple-ai1livecomplete-online-by-hossein/p1
Ciao Sebastiano. Ho seguito entrambe le parti della tua ottima guida, per filo e per segno, ma SlideMe mi ha rifiutato l'applicazione con la seguente motivazione:
RispondiElimina"Applications created using third-party web application builders (such as Andromo, AppBuilder, AppGeyser, AppInventor, AppMaker, AppsBar, AppYet, Conduit, Feed.nu, iBuild, LookSomething, SeattleCloud, Tiggzi, etc.) rather than developed with native code by the account users are no longer being accepted on SlideME."
Si sono attrezzati per riconoscere le modifiche al PackageName?! Sei al corrente di ciò?
Ho paura di si, magari vedono altri campi di cui io non sono a conoscenza,
Eliminaho visto che gira un tutorial su youtube su come cambiare le info che escono quando si preme il tasto menù, forse SlideMe riconosce da quel fattore che sono app create con App Inventor.
Quando ho fatto io il tutorial funzionava , ora sembra di no.
Se scopri di più fammi sapere che eventualmente aggiorno la guida
Ciao Seb, ho rinominato il packagename della mia app, ma nel caso in cui non lo passo in apptomarket per la firma, cosa puo succedere una volta pubblicato su google play?
RispondiEliminaCiao, mi permetto di segnalare anche qui la mia soluzione per la decompilazione/ricompilazione degli apk e per la modifica del manifest. Inoltre permette di cambiare il package name con zero sforzo e, in futuro, farà anche altro. Il link al progetto: https://pledgie.com/campaigns/28753 il link al forum https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!forum/gwayapps
RispondiEliminaGrazie Gabriele! mi ero ripromesso di parlare della tua app più diffusamente nel mio forum, la mancanza di tempo non me lo ha permesso fino ad ora, spero di risolvere al più presto.
EliminaIntanto hai fatto bene a pubblicare anche qui :)
Ciao, ho seguito tutta la procedura per cambiare il package name ma quando arrivo al punto 3 di App2Market mi dice che non può generare degli apk per degli errori. Cosa posso fare?
RispondiEliminaDovresti fare uno screenshot esatto con il messaggio d'errore, così non ti so aiutare...
EliminaPuoi usare Apk Modder! :-) https://pledgie.com/campaigns/28753
Eliminahttp://oi62.tinypic.com/2501kc4.jpg
EliminaGabriele non ho capito cosa devo fare per utilizzare il software
Elimina