Pubblicare un’app realizzata con PhoneGap su Android PlayStore

Dopo aver realizzato un’applicazione con PhoneGap, arriva il momento di volerla pubblicare sul PlayStore, così che tutti ne possano usufruire.

Per farlo abbiamo bisogno di “preparare” il file APK per essere “accettato” dal sistema di controllo bastano pochi ma essenziali passaggi. Gli stessi valgono anche per le applicazioni create con Ionic o con Cordova.

Dovremo quindi:

  1. Generare l’APK in modalità release
  2. Generare le chiavi per firmare l’APK
  3. Firmare l’App
  4. Allineare il contenuto dell’APK

Step 1: Generare l’APK in modalità release

phonegap build --release android

Questo comando creerà un apk privo delle gestioni di deug (e quindi pronto a essere distribuito) in platforms/android/build/outputs/apk/android-relase-unsigned.apk

Per convenienza spostiamo l’APK generato nella directory root dell’applicazione

Step 2: Generare le chiavi per firmare l’APK

keytool -genkey -v -keystore mie-chiavi.keystore -alias nome-app -keyalg RSA -keysize 2048 -validity 10000

Dove

  • mie-chiavi.keystore va (convenzionalmente) sostituito in <nome dell’app>.keystore
  • nome-app va sostituito con il nome che vogliamo dare all’App

Step 3: Firma l’App

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mie-chiavi.keystore <HelloWorld>-release-unsigned.apk nome-app

Dove

  • per mie-chiavi.keystore e nome-app valgono i nomi del punto precedente
  • <HelloWorld> va sostituito col nome dell’App

Step 4: Allineamento del contenuto

zipalign -v 4 <HelloWorld>-release-unsigned.apk <HelloWorld>.apk

Dove va semplicemente cambiato <HelloWorld> coerentemente con quanto sopra.

Fine!!! Ora puoi caricare la tua nuova App su Google Play Store.


Android unlock – semiguida allo sblocco del sistema da linux

Se cercate in giro troverete diverse guide su come sbloccare un terminale android (leggersi ottenere i permessi di root). Nella maggior parte dei casi, queste guide son per windows, raramente Mac.
Sembra che gli utenti smanettoni siano rimasti solo su questi ambienti, mentre quello creato ad-hoc per questi scopi ne è rimasto sprovvisto (ma questa è un’altra storia).
In fondo dette guide non fanno altro che indicare che comandi eseguire sul terminale interessato, piuttosto che eseguire delle istruzioni tramite l’SDK.
Ed è qui che casca l’asino. Per un utente windows, non fa alcuna differenza se quei comandi li esegui lui o l’amministratore di sistema, per un utente *nix invece la differenza è notevole.
Andando al sodo, per sbloccare un terminale Android, passo necessario per flashare una modding ROM o ottenere i permessi di root, dovete dare i comandi di sblocco da root:

adb reboot bootloader
sudo fastboot oem unlock
sudo fastboot reboot

Attenzione che, dopo il secondo comando, il sistema ci avveritrà che perderemo la garanzia, cancellerà tutti i dati dal terminali, e l’angelo della morte si abbatterà sul vicino di casa. Nulla che non possiate sopportare con i dovuti accorgimenti, tipo i backup. (Per il vicino di casa, purtroppo, non c’è soluzione)