it-swarm.com.de

Der von Ihnen angegebene Signatur-Fingerabdruck wird bereits von einem anderen Android-OAuth2-Client verwendet

Vor einiger Zeit habe ich ein Beispielprojekt (nennen wir es "Beispielprojekt") mit Oauth2 client id für Android-Anwendung in der Google API-Konsole erstellt. Ich habe auch SHA1 fingerprint und den Paketnamen (zum Beispiel com.package.name) hinzugefügt. 

Mein Fehler war, dass bereits eine Anwendung mit demselben Paketnamen vorhanden war. Nun muss ich im "gültigen Projekt" einen Oauth2 client id für Android-Anwendung mit dem Paketnamen com.package.name und mit dem SHA1 fingerprint erstellen, den ich zuvor hinzugefügt habe. Als ich versuchte, diesen Fingerabdruck hinzuzufügen, bekam ich offensichtlich einen Fehler.

The signing fingerprint you specified is already used by another Android OAuth2 client.

Danach erinnerte ich mich an "Beispielprojekt" und löschte client id aus diesem Projekt. Das Problem ist, dass ich diesen Fingerabdruck für den Paketnamen com.package.name noch nicht hinzufügen kann. Client id wird gelöscht, aber ich habe immer noch den gleichen Fehler wie oben.

Habe ich die Möglichkeit, diesen Fingerabdruck für denselben Paketnamen in einem anderen Projekt zu verwenden?

16
Elena

Dieser Fehler tritt auf, wenn in Google Developers SIGNING CERTIFICATE FINGERPRINT (SHA1) mit einem anderen Konto verknüpft ist.

Lösung ist, das Projekt zu löschen, das den SHA1 in console.developers.google.com für das alte/falsche Projekt verwendet.

Sie können den SHA1-Fingerabdruck nicht mehr ändern, sobald er eingestellt ist. Denken Sie daran, dass das Löschen des Projekts 7 Tage dauert, um es vollständig zu entfernen.

Eine andere Möglichkeit ist, den debug.keystore zu löschen und einen neuen mit folgenden Code zu generieren:

keytool -genkey -v -keystore debug.keystore -alias androiddebugkey
-storepass Android -keypass Android -keyalg RSA -validity 14000

Denken Sie daran, dass Sie die App deinstallieren müssen. Andernfalls wird der [INSTALL_FAILED_UPDATE_INCOMPATIBLE]-Fehler angezeigt.

21
surfer190

Wenn Sie jedes Firebase-Projekt für jedes Env wie ich verwenden, kann der unten beschriebene Ansatz hilfreich sein. 

Erstellen Sie in Ihrem Build-Gradle eine neue Anwendungs-ID für jede Umgebung: 

productFlavors {
        dev {
            applicationId "se.abc.dev"
        }
        stag {
            applicationId "se.abc.stag"
        }
        prod
    }

Fügen Sie in jedem Firebase-Projekt ein neues Projekt mit der entsprechenden Anwendungs-ID mit demselben Fingerabdruck hinzu. Denken Sie daran, die neue Google-Service-JSON-Datei herunterzuladen, da die Anwendungs-ID geändert wurde. Der Paketname bleibt derselbe, sodass es beim Hochladen in Google Play kein Problem darstellt. Aber sicher lasse ich das Prod-Aroma leer, so dass der Paketname und die Anwendungs-ID für Prod-Release gleich sind, um Probleme zu vermeiden. 

2
thanhbinh84

Da jemand die gleiche Anwendung für zwei oder mehr Firebase-Projekte verwenden kann und aus diesem Grund diese Fehlermeldung erhalten möchte, gehe ich hier auf dieses spezielle Szenario ein. Die einfachste Möglichkeit, dieselbe Anwendung auf zwei oder mehr verschiedenen Firebase-Projekten (beispielsweise Produktion und Staging) auszuführen, besteht darin, eine build.gradle-Datei auf Modulebene mit einer Build-Variante (beispielsweise Staging) wie dieser hinzuzufügen:

apply plugin: 'com.Android.application'
apply plugin: 'com.google.firebase.firebase-perf'

Android {
    compileSdkVersion 27
    buildToolsVersion "27.0.3"
    defaultConfig {
        applicationId "com.mydomain.myapp"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 18
        versionName "2.8"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
        staging {
            initWith debug
            applicationIdSuffix ".staging"
            versionNameSuffix = "-staging"
        }
    }
}

dependencies {
    [...]
}

// Firebase
apply plugin: 'com.google.gms.google-services'

In der Buildvariante staging ist die Zeile am wichtigsten:

applicationIdSuffix ".staging"

Dadurch wird zum Erstellungszeitpunkt ein ".staging" -Suffix zu Ihrer Anwendungs-ID eingefügt, damit Sie automatisch verfügen

applicationId "com.mydomain.myapp.staging"

Sie müssen diese Anwendung ("com.mydomain.myapp.staging") dann zu Ihrem Firebase-Staging-Projekt hinzufügen. Auf diese Weise können Sie derselben Anwendung "com.mydomain.myapp" SHA1 hinzufügen, da sie eine andere Anwendungs-ID hat.

1
shadowsheep

Der von Ihnen angegebene Signatur-Fingerabdruck wird bereits von einem anderen Android OAuth2-Client verwendet

Ich muss jedes Projekt überprüfen und habe versucht, eine andere Client-ID zu finden, die mit dem SHA1-Fingerabdruck und dem Paketnamen konfiguriert wurde, die ich versucht habe, ohne Erfolg zu konfigurieren.

Am Ende war die Lösung das Löschen der Client-ID, die ich zu bearbeiten versuchte, und erneutes Hinzufügen mit dem SHA1-Fingerabdruck und dem Paketnamen, es funktionierte für mich.

enter image description here

1
Jorgesys

Es ist spät, aber es lohnt sich. Ich habe den gleichen Fehler gemacht. Ich habe ein Projekt im falschen Konto zur Firebase hinzugefügt, dann habe ich es gelöscht und versucht, ein anderes Firebase-Konto hinzuzufügen. Dies konnte ich jedoch nicht tun, da der Fehler darauf hinweist, dass das Projekt bereits registriert ist. Es dauert also ungefähr 5 bis 7 Tage, bis der Löschvorgang abgeschlossen ist.

Hier ist der Schritt, dem ich gefolgt bin, um ein weiteres sha1 zu generieren.

  1. Gehe auf .Android in meinem PC. C:\Users\shahz.Android.
  2. löschen Sie debug.keystore.
  3. rebuild Android project.
  4. klicken Sie auf den Signaturbericht (rechte Leiste, klicken Sie auf Gradle, App/Task/Android/SiginingReport)

  5. sie erhalten einen neuen Debug-Schlüssel mit neuem sha1.

  6. registrieren Sie Ihre App.

0
Opriday

Heute in diese Ausgabe geraten. Da das Projekt sehr lange dauert, um vollständig gelöscht zu werden, erstellen Sie am einfachsten eine neue SHA1, indem Sie einfach local debug.keystore löschen. Es wird automatisch generiert, wenn Sie eine App ausführen, nachdem Sie sie gelöscht haben. Dies ist in den Android-Dokumenten hier dokumentiert.

0
Aditya

Wenn Ihre App im Play Store aufgeführt ist, möchten Sie wahrscheinlich den Paketnamen nicht ändern und den Produktionsschlüssel wahrscheinlich nicht ersetzen (da Sie dazu gezwungen sind, einen neuen zu erstellen.) Auflistung).

Wenn Sie absolut sicher sind, dass derzeit keine Projekte aktiv sind, die das aktuelle Paket-Name/Fingerprint-Paar verwenden, sollten Sie noch Folgendes versuchen: Erstellen Sie einen komplett neuen Berechtigungsnachweis. Sie müssen Ihre Anmeldedatei in der Anwendung ersetzen.

Ich hatte nicht erwartet, dass dies helfen würde, aber es tat es. Vielleicht zwischenspeichert Google die Suche irgendwie? Msgstr "Diese Suche nach Paketnamen/Fingerabdruck/Client - ID ist ein Duplikat. Suchen Sie also nicht noch einmal nach."

0
Brian