Italian Aggiornamento App APK su Google Play!

vecchiounno

Member
Licensed User
Lo so: è stato chiesto e richiesto 1000 volte, ma non trovo niente che risolva il mio problema.
Sono giorni che cerco di capire (cercare, leggere, ecc ecc) e poi di provare ad aggiornare una mia vecchia APP già presente dal 2015, senza riuscirci
e provo un profondo senso di rabbia e di frustrazione.

Prima un po' di storia:
L'App è nata a suo tempo con AppInventor2 :( e pubblicata come tale.
Ha fatto la sua lunga vita con onore assolvendo il suo compito (parlo di questa, ma vale anche per tutte le altre):
Con l'avvento delle nuove policy di google e di android ovviamente non ha più funzionato.
L'ho migrata e migliorata in B4A (che uso ormai dal 2017): in questi ultimi anni non ho ancora pubblicato nulla di nuovo
e in questi ultimi 2 mesi mi sono dovuto rimettere "ai fornelli" per migrare tutte le app in B4A.

PROBLEMA
in B4A v.12.5, nella finestra Private Sign Key dopo aver selezionato Load existing key e fornito password, chiave (.keystore), cliccato Ok
e riaperto per verificare con successo la Signature (read-only), quando compilo come Release (quindi APK e non AAB) mi da errore:
1697986518153.png

E già questo mi è incomprensibile!
(Con AppInventor2, importi la keystore "una tantum" e quando compili, l'APK viene firmata correttamente e riconosciuta da Google Play)
Questa la mia keystore:
1697987130310.png

Ovviamente Google Play me la rifiuta!

In questi giorni ho cercato di tentare in qualche modo di pubblicare questo benedetto aggiornamento
e forse ho incasinato la chiave in Google, ma sinceramente tutto il procedimento è troppo complesso,
lungo e poco chiaro in termini di linearità dello stesso (almeno per me e sono 30 anni che sto nel mondo dell'IT).

Riporto qualche Screenshot per farmi capire:
partendo da qui...
1697988301730.png

Clicco su Crea nuova release
e carica il file APK (che come scritto sopra ha l'errore della keystore!)
1697988439510.png

Google mi riporta quanto scritto in rosso e qui mi fermo perchè non so come fare accettare a B4A la mia keystore (del 2012)

Per quanto riguarda invece lo smanettamento che ho fatto nell'incasinare (credo!!!) la chiave di google (sempre questa del 2012)
ecco la cronistoria:
Sono partito da qui
1697989531134.png

ho selezionato Usa chiave di firma dell'app esistente dell'archivio chiavi Java
e poi eseguito i primi 4 punti (senza però capire in realtà dove mi avrebbero portato...)
1697989796218.png

Ho comunque creato quanto di seguito
1697989888901.png

output_private_key.pem attraverso il punto 1 (che immagino abbia a che vedere con la mia keystore 2012)
pepk.jar che ho scaricato dal punto 2
crea_chiave.bat che ho creato dal punto 3
(java -jar pepk.jar --keystore=frogscompany.keystore --alias=b4a --output=D:\Android\prove_ottobre_20023\output_private_key.pem --rsa-aes-encryption --encryption-key-path=D:\Android\prove_ottobre_20023\encryption_public_key.pem)
e qui ho un piccolo dubbio su alias che forse avrei dovuto chiamare frogscompany (?!)
encryption_public_key.pem creata dal file bat e poi caricata secondo il punto 4

tutto questo mi ha portato a questa pagina che credo sia il punto focale dell'enigma e di tutti i mie problemi
1697990500208.png


A luglio del 2022 avevo fatto una chiave secondo le indicazioni di EREL usando KEYTOOL.exe e
questa linea di comando:
keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias b4a
Usandola come key in B4A mi Segna correttamente l'APP
1697991126470.png


ma quando la pubblico in Google Play ovviamente la rifiuta...
1697991291189.png

Da notare che la prima firma corrisponde alla mia vecchia chiave (del 2012)
mentre la seconda è quella creata con la procedura di EREL a suo tempo lo scorso anno.

...e qui ho veramente finito!!

Mi scuso per questo post interminabile (quasi peggio delle procedure di Goggle Play)
MA SONO ALLA FRUTTA E CHIEDO UMILMENTE UN AIUTO STEP-BY-STEP

😭

Un saluto a tutti
Michele
 

Attachments

  • 1697988115780.png
    1697988115780.png
    234.4 KB · Views: 43
  • 1697988161729.png
    1697988161729.png
    234.4 KB · Views: 33

MarcoRome

Expert
Licensed User
Longtime User
Se hai un'app con una "firma precedente" guarda questo:
e questo
 
Upvote 0

vecchiounno

Member
Licensed User
grazie per la risposta
ma non risolve il problema!

io ho l'app vecchia fatta con appinventor
ma la sua nuova copia e in b4a

avevo già letto anche questi post!

A questo punto credo che il mio problema sia un problema anche per i più esperti di voi.
Cercherò di aiutarvi ad aiutarmi cominciando con una domanda più semplice:
Come faccio a impostare in B4A la mia chiave frogscompany.keystore rilasciata nel lontano 2012 da Google Play?
ovvero:
In Private Sign Key oltre a settare Load existing key, ad inserire la password e a indicare il percorso di frogscompany.keystore
che cosa devo fare perchè non mi dia errore di chiave alla compilazione (via Release)?
 
Last edited:
Upvote 0

MarcoRome

Expert
Licensed User
Longtime User
Ma hai provato a compilare l'app fatto in B4A senza firmare la stessa, compilandola con B4ABuilder ?
Dopo aver compilato la stessa senza firmarla, puoi seguire il tutorial
 
Upvote 0

vecchiounno

Member
Licensed User
certo

intanto ti riporto (a scanso di equivoci) quel tutorial rivisto, corretto e tradotto (per eventuale futuro utilizzo sul Forum ita)
PROCEDURA DA APPINVENTOR2 VERSO GOOGLE PLAY (PASSANDO DA B4A)

1. Quando sei pronto per la pubblicazione, devi utilizzare B4ABuilder.exe per compilare un apk non firmato.
Crea un file batch ed eseguilo dalla cartella root della tua app (es. D:\Android\#PROGETTI\ParamotoreQuizVM\B4A)
"C:\Program Files\Anywhere Software\B4A\B4ABuilder.exe" -Task=Build -NoSign=True -Obfuscate=true

2. Partendo dall'esempio, vai su D:\Android\#PROGETTI\ParamotoreQuizVM\B4A\Objects\bin e trova il file chiamato "temp.ap_".
Questa è la tua app.
Rinominare questo file di conseguenza (es. "ParamotoreQuizVM.apk").

3. Copia il file dell'archivio chiavi (la tua keystore) nella stessa directory di ParamotoreQuizVM.apk.
(es. D:\Android\#PROGETTI\ParamotoreQuizVM\B4A\Objects\bin)

4. Vai nella cartella del pacchetto "required resources" scaricato da B4A \pacchetto required resources\build-tools\33.0.0
e copia questo file zipalign.exe
nella stessa cartella dell'apk e del keystore (es. D:\Android\#PROGETTI\ParamotoreQuizVM\B4A\Objects\bin)

5. Apri il prompt dei comandi di Windows e passa alla cartella in cui si trovano
ParamotoreQuizVM.apk, la tua keystore e zipalign.exe.

6. Nel prompt dei comandi digitare o crea un file batch
C:\Program Files\Java\jdk-14.0.1\bin\jarsigner -verbose -keystore mykeystore.ks "nome utente" myapp.apk
Cambia "mykeystore.ks" nel nome del file del tuo archivio chiavi (la tua keystore).
Cambia "nome utente" con il nome utente utilizzato nel tuo archivio chiavi.
Cambia "myapp.apk" nel nome del file della tua app.

7. Inserisci la tua password quando richiesto.

8. Al termine, digita:
zipalign -v 4 myapp.apk myapp_aligned.apk

9. Hai finito! myapp_aligned.apk è il file che dovrai caricare sul Google Play...

questo il risultato fino al punto 7

1698145641877.png


ti posso assicurare che la mia chiave è corretta
 
Upvote 0

MarcoRome

Expert
Licensed User
Longtime User
certo

intanto ti riporto (a scanso di equivoci) quel tutorial rivisto, corretto e tradotto (per eventuale futuro utilizzo sul Forum ita)


questo il risultato fino al punto 7

View attachment 147168

ti posso assicurare che la mia chiave è corretta

Sembra che tu stia utilizzando un alias non valido e jarsigner non riesce a trovarlo. Elenca il contenuto del keystore per vedere qual è il nome corretto:

B4X:
keytool -keystore android-release-unsigned.keystore -list -v

Vedi:

 
Upvote 0

vecchiounno

Member
Licensed User
ALIAS
l'avevo provato sia con b4a che con frogscompany (che poi è l'alias corretto della mia chiave del 2012)

il problema, secondo me, è con B4A nel momento in cui gli fornisco password e percorso della mia frogscompany.keystore...
1698151303511.png


quando compilo con questa chiave, che poi è quella corretta, B4A mi da questo errore

1698151526233.png


e non capisco quel "b4a" da dove lo prende!!!
visto che l'alias (come puoi ben vedere) è frogscompany


se però creo una chiave secondo la procedura di EREL (con keytool.exe) ovvero:
"C:\Program Files\Java\jdk-14.0.1\bin\keytool" -genkey -v -keystore frogscompany.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias b4a
e compilo puntando a questa nuova chiave, non mi dà errore

1698152523282.png


ma ovviamente alias diverso e fingerprints diversi con rigetto di Google Play

1698152770992.png



Leggendo i 2 link mi viene il sospetto che B4A non gradisca ( non le riconosce?!) le vecchie keystore
1698153017173.png


sono così ancora al punto di partenza... :(
 
Upvote 0

MarcoRome

Expert
Licensed User
Longtime User
ALIAS
l'avevo provato sia con b4a che con frogscompany (che poi è l'alias corretto della mia chiave del 2012)

il problema, secondo me, è con B4A nel momento in cui gli fornisco password e percorso della mia frogscompany.keystore...
View attachment 147170

quando compilo con questa chiave, che poi è quella corretta, B4A mi da questo errore

View attachment 147171

e non capisco quel "b4a" da dove lo prende!!!
visto che l'alias (come puoi ben vedere) è frogscompany


se però creo una chiave secondo la procedura di EREL (con keytool.exe) ovvero:
"C:\Program Files\Java\jdk-14.0.1\bin\keytool" -genkey -v -keystore frogscompany.keystore -keyalg RSA -keysize 2048 -validity 10000 -alias b4a
e compilo puntando a questa nuova chiave, non mi dà errore

View attachment 147172

ma ovviamente alias diverso e fingerprints diversi con rigetto di Google Play

View attachment 147173


Leggendo i 2 link mi viene il sospetto che B4A non gradisca ( non le riconosce?!) le vecchie keystore
View attachment 147174

sono così ancora al punto di partenza... :(

Dove dici: "....Il problema, secondo me, è con B4A nel momento in cui gli fornisco password e percorso della mia frogscompany.keystore..." ma se non hai firmato l'apk ( vedi Post #5 ) e stai eseguendo tutto con il comando di linea non è un problema di B4A. Prova a creare un'APK con un qualsiasi tool e a firmare l'apk non firmato con la stessa procedura utilizzato nel Post#5 cosa ti dice ??
 
Upvote 0

vecchiounno

Member
Licensed User
Ciao Marco
grazie per continuare a "sopportarmi\supportarmi", ma oggi credo\spero sia il giorno giusto!
Il sommo CREATORE (Erel) mi ha dato la soluzione:

'da aggiungere nel Main
#SignKeyAlias: frogscompany
Semplice e lineare come la morte ('tacci sua...della morte ;))
Ci\Mi siamo persi in percorsi troppo complessi rispetto alla soluzione che era a dir poco banale (come puoi vedere dal post di Erel)
Intanto non mi da più l'errore alla compilazione e sono certo che non me ne darà neanche quando presenterò l'APK a GooglePlay.

Nel pomeriggio chiuderò il cerchio e ti saprò dire ...

a dopo👍
 
Last edited:
Upvote 0

MarcoRome

Expert
Licensed User
Longtime User
Ciao Marco
grazie per continuare a "sopportarmi\supportarmi", ma oggi credo\spero sia il giorno giusto!
Il sommo CREATORE (Erel) mi ha dato la soluzione:


Semplice e lineare come la morte ('tacci sua...della morte ;))
Ci\Mi siamo persi in percorsi troppo complessi rispetto alla soluzione che era a dir poco banale (come puoi vedere dal pos di Erel)
Intanto non mi da più l'errore alla compilazione e sono certo che non me ne darà neanche quando presenterò l'APK a GooglePlay.

Nel pomeriggio chiuderò il cerchio e ti saprò dire ...

a dopo👍
Molto bene 👍
 
Upvote 0

vecchiounno

Member
Licensed User
Molto bene 👍
E' andata!
Per ora l'ho messa solo in Test, ma mi serviva sapere se l'avrebbe accettata..

Ora a manetta conversioni di tutte le APP e via con gli Upload...
Dobbiamo creare nuovi piloti e quindi devono studiare e studiare!!!

Un saluto e grazie ancora...
Ci sentiamo nel Forum
Mik
 
Upvote 0
Top