Modifica di un'applicazione XF Android esistente per utilizzare la firma app di Google. Quale opzione devo selezionare sul Play Store?


10

Ho sviluppato un'applicazione Xamarin Forms esistente. Vorrei iniziare a utilizzare .aab e questo mi richiede di abilitare la firma di app di Google.

Dato che c'è il potenziale per me di fare un grosso errore, vorrei ricevere consigli dagli altri qui.

Qualcuno può dirmi la procedura che hanno usato per configurare la firma dell'app?

disinserisci qui la descrizione dell'immagine


Keystore è protetto da password e crittografato con SHA256, di quale errore sei preoccupato?
Prateek,

Non sono sicuro di come andare avanti e farlo. Quale opzione usare per la prima volta. Ho provato a cercare su Internet ma non sono riuscito a trovare esempi di come farlo con il mio progetto Android Xamarin Forms
Alan2

File di archivio chiavi? Eccolo , lo si può fare da linea di comando come pure
Prateek

Questo serve a proteggere la tua app per futuri aggiornamenti. Dopo aver caricato una chiave di firma, anche se il tuo account google è compromesso, nessuno può caricare e aggiornare l'app a meno che non disponga della chiave esatta. Conservare la chiave in un luogo sicuro e non perderla mai.
shanranm,

Risposte:


3

Dal momento che hai un'app esistente e hai un .keystore dovrai seguire i seguenti passi: -

Passaggio 1: - Iscriviti alla firma dell'app da Google Play a. Accedi alla tua Play Console. b. Seleziona la tua app attuale. c. Nel menu a sinistra, seleziona Gestione delle versioni> Firma app. d. Se non lo hai già fatto, consulta i Termini di servizio e seleziona Accetta.

Questo passaggio ti registra per la firma dell'app da Google Play.

Passaggio 2: - Invia la tua chiave originale a Google e crea una chiave di caricamento a. Individua la chiave di firma dell'app originale. b. Accedi alla tua Play Console. c. Seleziona un'app. d. Nel menu a sinistra, seleziona Gestione delle versioni> Firma app. e. Seleziona l'opzione di esportazione e caricamento più adatta alla tua procedura di rilascio e carica una chiave di firma app esistente. Qui dovrai selezionare l'opzione 3 - Esporta e carica una chiave (non usando un KeyStore Java), dato che hai un file .keystore.

Passaggio 3: - Creare una chiave di caricamento (facoltativo e consigliato) - Questo è un passaggio importante.

Se stai aggiornando un'app che è già stata pubblicata su Google Play utilizzando una chiave di firma app esistente, puoi attivare la firma dell'app da Google Play come segue:

Se non l'hai ancora fatto, firma l'app con la chiave di firma dell'app esistente e assicurati di selezionare la casella accanto a Esporta chiave crittografata per salvare la chiave di firma come file crittografato * .pepk. Sarà necessario questo file in un passaggio successivo. Accedi alla tua Play Console e vai alla tua app. Nel menu a sinistra, fai clic su Gestione delle versioni> Firma app. Se applicabile, consulta i Termini di servizio e seleziona Accetta. Seleziona una delle opzioni che meglio descrivono la chiave di firma che desideri caricare su Google Play e segui le istruzioni visualizzate. Ad esempio, se hai utilizzato Android Studio per esportare la chiave di firma della tua app, come descritto in questa pagina, seleziona Carica una chiave esportata da Android Studio e carica il file * .pepk per la tua chiave. Fai clic su Iscriviti. Ora dovresti vedere una pagina con i dettagli della firma della tua app e caricare i certificati. Google Play ora firma la tua app con la tua chiave esistente quando la distribuisci agli utenti. Tuttavia, uno dei vantaggi più importanti della firma dell'app da parte di Google Play è la possibilità di separare la chiave utilizzata per firmare l'artefatto caricato su Google Play dalla chiave utilizzata da Google Play per firmare l'app per la distribuzione agli utenti. Quindi, considera di seguire i passaggi nella sezione successiva per generare e registrare una chiave di caricamento separata.

Genera e registra un certificato di upload

Quando pubblichi un'app che non è firmata da una chiave di caricamento, Google Play Console offre la possibilità di registrarne una per futuri aggiornamenti dell'app. Sebbene si tratti di un passaggio facoltativo, è consigliabile pubblicare l'app con una chiave separata da quella utilizzata da Google Play per distribuire l'app agli utenti. In questo modo, Google protegge la chiave di firma e hai la possibilità di ripristinare una chiave di caricamento privata persa o compromessa. Questa sezione descrive come creare una chiave di caricamento, generare un certificato di caricamento da essa e registrarlo con Google Play per futuri aggiornamenti della tua app.

Di seguito vengono descritte le situazioni in cui viene visualizzata l'opzione per registrare un certificato di caricamento nella Play Console:

Quando pubblichi una nuova app che è firmata con una chiave di firma e la attivi per la firma dell'app da Google Play. Quando stai per pubblicare un'app esistente che ha già aderito alla firma dell'app da Google Play, ma è firmata utilizzando la sua chiave di firma. Se non stai pubblicando un aggiornamento su un'app esistente che ha già aderito alla firma dell'app da Google Play e desideri registrare un certificato di caricamento, completa i passaggi seguenti e continua con la sezione su come ripristinare una perdita o chiave di caricamento privata compromessa.

Se non l'hai ancora fatto, genera una chiave di caricamento e un archivio chiavi.

Dopo aver creato la chiave di caricamento e il keystore, è necessario generare un certificato pubblico dalla chiave di caricamento utilizzando keytool, con il seguente comando:

$ keytool -export -rfc
  -keystore your-upload-keystore.jks
  -alias upload-alias
  -file output_upload_certificate.pem

Ora che hai il tuo certificato di caricamento, registralo con Google quando richiesto nella Play Console o leggi la sezione seguente per registrarlo tramite il team di supporto di Google Play.

Passaggio 4: - Firma il tuo prossimo aggiornamento dell'app con la chiave di caricamento Quando rilasci aggiornamenti per la tua app, devi firmarli con la chiave di caricamento.

Se non hai generato una nuova chiave di caricamento: continua a utilizzare la chiave di firma dell'app originale per firmare le versioni prima di caricarle su Google Play. Se perdi la chiave di firma dell'app, puoi generare una nuova chiave di caricamento e registrarla con Google per continuare ad aggiornare l'app.

Se hai generato una nuova chiave di caricamento: utilizza la nuova chiave di caricamento per firmare le versioni prima di caricarle su Google Play. Dopo averli caricati, Google verifica il rilascio di una chiave di caricamento per verificare la tua identità. Se perdi la chiave di caricamento, puoi contattare l'assistenza per reimpostarla.


Grazie, la tua risposta sembra essere la più chiara per il mio caso particolare. Potrei avere qualche altra domanda in seguito.
Alan2,

2

Dipende, qual è l'estensione per il file keystore che hai- .keystore o .jks? Dato che hai menzionato che si tratta di un'app esistente, seguirai le istruzioni per le app esistenti, sotto "Attiva la firma dell'app da Google Play" qui .

Se si utilizza un file JKS, selezionare semplicemente l'opzione "Archivio chiavi Java", oppure se si dispone di un file KEYSTORE, quindi selezionare "Non utilizzare un archivio chiavi Java". E poi continua seguendo gli altri passaggi.

Fammi sapere se rimani bloccato altrove o hai altre domande.


È un'estensione .keystore. Ho un file .keytore e un file .keyinfo. Sto davvero cercando alcune istruzioni dettagliate qui come una risposta per me e probabilmente altre che lo seguiranno passo dopo passo.
Alan2

2

Dovrai seguire questa documentazione per creare il file di archivio chiavi.

La spiegazione completa di ciò che stai chiedendo è qui sul sito di documentazione Android.

Opzione 1:

Da Android Studio, stiamo usando Visual Studio, quindi NA a meno che tu non voglia utilizzare il file keystore creato da Android Studio, puoi usare i passaggi di Visual Studio che sono simili a questo.

Opzione 2:

Utilizzo del keystore java

È possibile utilizzare la riga di comando per creare un nuovo file di archivio chiavi menzionato qui nel thread

keytool.exe -genkeypair -v -keystore <filename>.keystore -alias <key-name> -keyalg RSA -keysize 2048 -validity 10000

Nota che java dovrebbe essere aggiunto al percorso perché funzioni ovunque, altrimenti eseguirai questo comando da C: \ Programmi \ Android \ Jdk \ microsoft_dist_openjdk_1.8.0.25

Opzione 3:

Il keystore predefinito fornisce solo pochi tipi di algoritmo di crittografia. Sembra che questa opzione ti aiuti a utilizzare la chiave generata da altri algoritmi che convertirai in .pemfile a quanto pare e quindi usarlo per firmare la tua app.

Con la menzione di .AAB credo che tu sia interessato all'approccio di firma apk raccomandato menzionato in App Signing da Google play , devi caricare la tua chiave e la prossima volta che colleghi google play puoi usare il keystore dal cloud per firmare la tua app localmente anche tramite Visual Studio.

Se si tratta di una nuova app, scegliere Opt in a new app altrimenti Opt in un'app esistente

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.