Android Studio: Fehlermeldung "... different signature" auf neuem PC

H

HighBaer

Neues Mitglied
0
Hallo Leute,

ich hoffe Ihr könnt mir weiterhelfen.

Mein Problem: App mit Android Studio 2.1.2 auf Windows 7 (32-Bit) entwickelt, signiert und an Auftraggeber ausgeliefert. Nun habe ich einen neuen Rechner mit Windows 10 (64-Bit). Android-Stuido (2.1.3) installiert. Alle Inhalte von "AndroidStudioProjects" und "Android Keystores" vom alten auf den neue Rechner kopiert.

Wenn ich nun auf dem neuen Rechner in Android Studio das Prorgamm starte, so erscheint die Fehlermeldung:
"Installation failed since the device already has an application with the same package but different signature.
In order to proceed, you have to uninstall the existing application."

Mit dem deinstallieren der App werden aber alle Daten der App auf dem Device gelöscht. Das kann aber doch nicht die Lösung sein. Nur weil ich die App nun auf einem anderen Rechner weiterentwickle muss die App mit entsprechenden Datenverlusten neu installiert werde? Ich befürchte das dies dann auch beim Anwender der Fall sein wird, was dort mit hoher Wahrscheinlichkeit zu Problemen führen wird.

Habe ich irgendwas beim Portieren der Daten auf den neuen Rechner übersehen? Müssen eventuell noch weitere Dateien kopiert werden. Oder muss in dem neuen Android Studio noch irgendwas eingetragen werden, dass diese die richtige (bisher verwendete) jks-Datei verwendet?

Ich habe schon Stunden lang im Internet nach einer Lösung gesucht. Vielleicht verwende ich die falschen Suchbegriffe, aber wenn ich nach "Signatur" bzw. "signature" suche, erhalte ich hunderte Anweisungen wie eine neue Signatur erstellt wird. Das ist aber hier ja nicht das Problem. Auf dem alten Rechner funktioniert ja alles korrekt und die Installation von neuen Versionen auch beim Anwendern läuft da ohne Neuinstallation.

Für den entscheidenden Tipp wäre ich dankbar.
 
Hallo Bear,

eigentlich müsstest du mit dem Pfad-Import der Projekte alles automatisch erledigt bekommen .
Es sein denn du hast beim Erstellen irgendwas ausgelagert, worüber du dir derzeit nicht mehr bewusst bist

P.S AS 2.1.2 ist ein wenig veraltet und noch Beta , nimm mal die Neuste - da sind jede Menge Bugs raus ,
(Derzeit 2.2 RC September 15)

lg
Stefan
 
Kurze Frage, hast du die App aus dem Store heruntergeladen?

Oder anders gefragt, mit welchen Zertifikat ist die App signiert (Developer oder das Zerti für den AppStore)?
 
@HighBaer

der entscheidende Tipp wäre "debug.keystore".

Okay, vielleicht jetzt noch die Langform ;-) :

Das grundsätzliche Signatur Prozedere sollte bekannt sein. Release Versionen immer mit dem gleichen selbsterstellten "Release" Keystore signieren, dann sollte es auch mit Google Play, dem Auftraggeber und den Endnutzern keine Probleme geben.

Startes Du deine App per Android Studio nutzt Android Studio einen "debug.keystore" --- > war vorher eine Version mit dem "Release" Keystore signierte Version (manuell installiert oder download aus dem Store) installiert, kommt diese Fehlermeldung hoch. Entweder erstellst du dann jedesmal eine "Release" Version mit entsprechender Signatur oder du installierst auf deinem Gerät immer nur die debug versionen.

Jetzt kommt wahrscheinlich Dein Knackpunkt ;-) : Der debug.keystore wird von Android Studio bei der ersten Benutzung generiert (und läuft( /lief zumindest früher) auch nach einem Jahr ab). Insofern sollten deine 2 Rechner unterschiedliche debug.keystores (unter C:\Users\<user>\.android\) aufweisen. Installierst Du jetzt über den neuen Rechner, ist auch im debug modus eine anders Signierte Version auf deinem Gerät .... und die bekannte Fehlermeldung erscheint ...

Lange Rede, kurzer Sinn: du musst (wenn du die App nicht neu installieren möchtest) auch den gleichen debug.keystore auf beiden Rechnern nutzen. Also ggfs. von Rechner1 auf Rechner2 kopieren.
 
Hallo Leute,

zunächst vielen Dank für die schnellen Antworten.

@swa00: Ich installiere nicht gerne RC-Versionen. Da habe ich immer die Befürchtung, dass da noch Einiges instabil ist. Ich habe aber trotzdem die 2.2 installiert. (Ist mittlerweile Beta). Leider bleibt alles beim Alten.

@markus.tullius: Eigne App, eigenes Zertifikat in Android Studio erstellt. Mit dem Google Store hat das nichts zu tun und wird auch niemals darüber angeboten werden.

@safa: Kopieren von debug.keystore vom alten auf den neuen Rechner hat auch nichts gebracht.

Ich habe dann noch mal alles Mögliche zwischen dem alten und dem neuen Rechner verglichen, allerdings ohne neue Erkenntnisse. Irgendwie hatte ich aber immer das Gefühl, dass auf dem neuen Rechner nicht wirklich die jks-Datei aus dem Keystore genommen wird. Dann kam mir der Gedanke, dass das Zertifikat oder zumindest der Name der Datei vielleicht noch irgendwo gespeichert wird. Daher - ich gebe zu, da hätte ich auch früher drauf kommen können - habe ich "Build/Generate Signed APK" aufgerufen, das korrekte Passwort eingegeben und dann nur noch ohne weitere Änderungen immer alles mit "Next" bestätigt. Dann habe ich vorsichtshalber in Programm-Source was geändert, so dass auf jeden Fall die apk-Datei neu erstellt wird. Und siehe da, dieses mal wird die App anstandslos installiert.

Fazit: Nach der Installation des Android-Studios, kopieren der Projekt-Dateien und des Inhaltes von Keystore unbedingt "Generate Signed APK" durchführen, erst dann wird die korrekte Signatur verwendet.
 
Ich installiere nicht gerne RC-Versionen. Da habe ich immer die Befürchtung, dass da noch Einiges instabil ist. Ich habe aber trotzdem die 2.2 installiert. (Ist mittlerweile Beta).

öhm ,nur zur Info : RC ist allerdings eine Stufe höher :) - also zwischen Beta und Final
 
Zuletzt bearbeitet:
Hallo swa00,

swa00 schrieb:
öhm ,nur zur Info : RC ist allerdings eine Stufe höher :) - also zwischen Beta und Final

... man lernt halt nie aus. :blushing: Danke für die Info.
 
HighBaer schrieb:
Fazit: Nach der Installation des Android-Studios, kopieren der Projekt-Dateien und des Inhaltes von Keystore unbedingt "Generate Signed APK" durchführen, erst dann wird die korrekte Signatur verwendet.

:thumbsup: ... allerdings sollte dies, solange du nicht explizit den keystore in deiner build.gradle für den debug build anders spezifiziert hast (und das kein Bug in deiner Android Studio Version ist) eigentlich Zufall sein ...Wenn du die App per RUN in Android Studio startest, müsste der (wie gesagt, falls nicht manuell anders spezifiziert) debug.keystore ziehen ... daher die kopie von rechner1 auf rechner2 ... wenn das nichts gebracht hat, hatte er vielleicht noch den alten debug.keystore im cache und deine späteren Aktionen haben ein refresh ausgelöst ...:confused2:

Naja egal, hauptsache es funktioniert jetzt bei dir :thumbup:
 
@HighBaer: Hast du immer ein selbst erstelltes Zertifikat benutzt? So ließt sich wenigsten deine Antwort.
 

Ähnliche Themen

5
Antworten
0
Aufrufe
1.144
586920
5
SaniMatthias
Antworten
19
Aufrufe
950
swa00
swa00
D
Antworten
23
Aufrufe
2.531
Data2006
D
Zurück
Oben Unten