Ich muss eine neue Anwendung hochladen. Es ist nur das Design, das etwas anders ist. Gestern habe ich die Keystore-Datei zum Signieren der Anwendung generiert. Kann ich das gleiche verwenden?
Ich muss eine neue Anwendung hochladen. Es ist nur das Design, das etwas anders ist. Gestern habe ich die Keystore-Datei zum Signieren der Anwendung generiert. Kann ich das gleiche verwenden?
Antworten:
Sie können dies keystore
für eine beliebige Anzahl von Anwendungen verwenden.
Es ist nicht erforderlich, einen neuen Schlüsselspeicher zu generieren.
Ich werde ein Gegenargument zur bisherigen Konsensantwort vorbringen.
Ich bin damit einverstanden, dass für die meisten App-Autoren die meiste Zeit das Teilen des gleichen Schlüsselspeichers / Zertifikats / Passworts zwischen Ihren Apps funktioniert. Entscheidend ist, " dasselbe Zertifikat während der erwarteten Lebensdauer Ihrer Anwendungen zu verwenden ", damit die App selbst ein Upgrade durchführen kann.
Aber ich kann mir einen sehr guten Grund vorstellen, separate Keystores für separate Apps oder Familien von Apps zu haben. Wenn Sie der Meinung sind, dass Sie jemals eine App an eine andere Person verkaufen möchten, damit diese diese als Upgrade des Originals veröffentlichen kann, müssen Sie ihnen Ihren einzigen Keystore und Ihr Kennwort mitteilen. Wahrscheinlich kein großes Problem, aber ein bisschen Sorge für Sie und vielleicht ein Due-Diligence-Problem für einen ausreichend großen Käufer.
Außerdem lese ich wirklich nicht dieselbe Zeile in der Dokumentation wie @ol_v_er. Ich denke die aktuelle Zeile:
Sie sollten alle Ihre Apps während der erwarteten Lebensdauer Ihrer Anwendungen mit demselben Zertifikat signieren.
(Beachten Sie das Fehlen eines Kommas in der aktuellen Version) betont lediglich, dass die Empfehlung "Lebensdauer" für alle Apps gilt und Sie nicht dazu anweist, für alle Ihre Apps dasselbe Zertifikat zu verwenden.
Die offizielle Dokumentation sagt uns:
Im Allgemeinen besteht die empfohlene Strategie für alle Entwickler darin, alle Ihre Anwendungen während der erwarteten Lebensdauer Ihrer Anwendungen mit demselben Zertifikat zu signieren. Es gibt mehrere Gründe, warum Sie dies tun sollten ...
https://developer.android.com/studio/publish/app-signing.html#considerations
Versuchen Sie also, alle Ihre Anwendungen mit demselben Zertifikat zu signieren.
Ich möchte hier einige Klarstellungen hinzufügen, da diese Frage und die Antworten zu Verwirrung bei mir führen. Es ist wichtig zu verstehen, was ein Keystore eigentlich ist.
Ein Keystore ist nur ein Mittel zum sicheren Speichern des öffentlichen / privaten Schlüsselpaars, mit dem Ihre Android-Apks signiert werden. Also ja, Sie können denselben Keystore verwenden , um problemlos mehrere Apks zu signieren. Sie können auch denselben Alias verwenden (jeder Alias ist ein Zertifikat), um mehrere Apks zu signieren. Dies funktioniert. Dies hat jedoch Auswirkungen auf die Sicherheit. Wenn Ihr einzelner Alias gefährdet ist, sind alle Ihre Apps gefährdet.
Wenn Sie jedoch beabsichtigen, eines Tages die Rechte an Ihren Apps zu verkaufen, ist es möglicherweise keine gute Idee, für alle Ihre Apps denselben Alias zu verwenden. Die Verwendung desselben Keystores, sofern Sie für jedes Apk einen anderen Alias verwenden, ist jedoch möglicherweise nicht unbedingt eine schlechte Option. Ich bin sicher, es gibt eine Möglichkeit, ein Zertifikat von einem Schlüsselspeicher in einen anderen zu verschieben, damit Sie Ihrem Käufer sicher die erforderlichen Schlüssel nur für dieses Zertifikat geben können.
Um es ganz klar zu machen, ein Keystore ist genau das, ein Speichermedium für Schlüssel. Es spielt keine eigentliche Rolle beim Signieren einer Apk, sondern dient nur zum Speichern der Schlüssel, die tatsächlich zum Signieren der Apk verwendet werden.
Verweise:
Grundlegendes zu Keystore, Zertifikaten und Alias
https://www.digitalocean.com/community/tutorials/java-keytool-essentials-working-with-java-keystores
Natürlich! Sie können dieselbe Keystore-Datei beliebig oft verwenden. Es ist immer besser, für alle von Ihnen entwickelten Anwendungen dieselbe Keystore-Datei zu verwenden. Dies ist hilfreich, wenn Sie die Anwendung aktualisieren oder ändern möchten. Zu diesem Zeitpunkt müssen Sie Ihre Bewerbung mit demselben Schlüssel signieren.
Ich signiere alle meine Apps mit demselben Zertifikat (Keystore). Dies bietet einen Vorteil, wenn ich meine Meinung ändere und möchte, dass meine Apps ihre Daten teilen.
Wie Sie vielleicht wissen, identifiziert Android jede App mit einer UID. Wenn alle Ihre Apps mit demselben Zertifikat signiert sind, können Sie Android auffordern, derselben Benutzer-ID mehr als eine App zuzuweisen und sie in einem einzigen Prozess auszuführen und die Daten gemeinsam zu nutzen.
Von Android Doc Android: sharedUserId
android: sharedUserId
Der Name einer Linux-Benutzer-ID, die für andere Anwendungen freigegeben wird. Standardmäßig weist Android jeder Anwendung eine eigene eindeutige Benutzer-ID zu. Wenn dieses Attribut jedoch für zwei oder mehr Anwendungen auf denselben Wert festgelegt ist, haben alle dieselbe ID - vorausgesetzt, sie sind auch mit demselben Zertifikat signiert. Anwendungen mit derselben Benutzer-ID können auf die Daten des jeweils anderen zugreifen und auf Wunsch im selben Prozess ausgeführt werden