Geen overeenkomende klant gevonden voor pakketnaam (Google Analytics) – Meerdere productfruit & amp; builtypes

context:

Ik probeer Google Analytics voor mijn app in te stellen. (met 4 aangepaste buildTypesen meer dan een paar productFlavors)

Het werkt prima wanneer ik de Build Variantselecteer die de applicationIdis ingesteld op com.my.app.package.name(DE Pakketnaam gebruikt bij het genereren van de google-services.json). Maar mijn andere smaken hebben verschillende applicatiesids.

Ik volgde de Offical DevGuide om het in te stellen.

Fout die ik krijg wanneer een andere build-variant is geselecteerd in Build Variants Tab(die een andere applicationId(pakketnaam) is als volgt:

FOUT: uitvoering is mislukt voor taak
‘: app: processallcategoiresDebugFietooGleservices’.

Geen overeenkomende client gevonden voor pakketnaam ‘com.my.app.package.name.debug’

Uitleg van foutmelding:

In de taaknaam in het foutbericht boven Debugfreeis mijn aangepaste buildTypeen Allcategoriesis een van mijn productFlavors.

Ik begrijp de fout en weet de naam van de pakket verschilt van wat ik gebruikte bij het genereren van de JSON, maar dat is wat ik probeer een manier te vinden.

probleem:

Nu, de google-services.jsonbevindt zich in de appmap en daarom kan ik ze niet scheiden voor elke productmaak door ze in de Smaakspecifieke map Set instellen.

vragen:

  1. Mijn aangepaste byildTypevoor het debuggen van achtervoegsels .debugnaar de applicationId(pakketnaam). Is er een manier om het te laten werken met de google-services.jsondie mijn release applicationIdheeft (dwz zonder het achtervoegsel .debug)
  2. Is er een manier om meerdere productaroma’s te configureren in hetzelfde google-services.json-bestand zonder aparte bestanden en taken te gebruiken om het vereiste bestand naar de map appte kopiëren . Ik weet dat het kan worden gedaan met behulp van taskzoals vermeld in dit bericht . Is er een eenvoudigere manier om slechts één bestand te hebben of het juiste bestand te kiezen op basis van een geleidelijke configuratie?
  3. Ik zie dat het veld package_namein google-services.jsonde pakketnaam com.my.app.package.nameheeft. Kan ik meerdere pakketnamen handmatig toevoegen om voor alle buildvarianten te werken? Zo ja, hoe dat te doen? Kon geen instructies vinden in documentatie.

Antwoord 1, autoriteit 100%

Controleer uw pakketnaam op uw google-services.jsondeze moet hetzelfde zijn als uw lokale pakketnaam van uw app

Voorbeeld

"client_info": {
    "mobilesdk_app_id": "1:6596814400689:android:65d6f25f5006145",
    "android_client_info": {
      "package_name": "com.my.app.package.name"
    }

In dit geval is mijn lokale pakketnaam com.my.app.package.name, dus ik heb ook mijn pakketnaam gewijzigd in google-services.jsonmet mijn lokale pakketnaam


Antwoord 2, autoriteit 52%

Gevonden:

Het bestand google-services.json wordt over het algemeen in de app/
directory, maar vanaf versie 2.0.0-alpha3 van de plug-in-ondersteuning was
toegevoegd voor build-types
, wat de volgende directory zou maken:
structuur geldig:

app/src/
    main/google-services.json
    dogfood/google-services.json
    mytype1/google-services.json
    ...

Bron

Bron 2


Antwoord 3, autoriteit 26%

Geen overeenkomende client gevonden voor pakketnaam ‘com.tf’
Ik ben er vrij zeker van dat de “package_name” in google-services.json niet overeenkomt met uw “applicationId” in app gradle.

app-gradle:

defaultConfig {
        applicationId "com.tf" //replace with the package_name in google-services.json =
        minSdkVersion 23
        targetSdkVersion 26
        versionCode 7
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

google-services.json

"client_info": {
        "mobilesdk_app_id": "1:23978655351:android:2b2fece6b961cc70",
        "android_client_info": {
          "package_name": "in.ac.geu.debug"
        }
      },

Oplossing: zorg ervoor dat de package_nameen applicationIdhetzelfde moeten zijn.


Antwoord 4, autoriteit 15%

Ik heb de oplossing gevonden:

We moeten twee “apps” maken in het firebase-project, en dan kunnen we het json-bestand downloaden van elke app (ik heb gedownload van de gearomatiseerde app). Het bevat de gegevens voor beide apps. We kunnen het json-bestand eenvoudig naar de hoofdmap van de app kopiëren.

Bron: https:// firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html


Antwoord 5, autoriteit 14%

zorg ervoor dat uw pakketnaam in het bestand “google-services.json” hetzelfde is als de pakketnaam van uw apps.


Antwoord 6, autoriteit 12%

Als u package nameaanmaakt of bijwerkt, zorg er dan voor dat uw pakketnaam exact hetzelfde is [Hoofdletters en kleine letters zijn van belang]

Doe onderstaande stap.

1).Controleer applicationIdin gradlebestand op app-niveau,

2).Controleer package_namein uw google-services.json-bestand,

3).Controleer packagein uw AndroidManifest-bestand

en voor volledige bevestiging moet u ervoor zorgen dat de naam van uw werkpakketmap i.e.(“com.example.app”)ook hetzelfde is.

EDIT [ Iedereen die met dit probleem wordt geconfronteerd in het productFlavour-scenario, ga naar Droid Chris’s oplossing]


Antwoord 7, autoriteit 11%

Deze fout treedt op wanneer u een Google Services Json-bestand heeft gedownload in uw project waarvan de pakketnaam niet overeenkomt met de pakketnaam van uw project.

Onlangs de pakketnaam van het project hernoemd?

Het werkt alle klassen maar niet bij het Gradle-bestand . Controleer dus of uw pakketnaam correct is in uw gradle, en ook misschien zich manifesteren.


8, Autoriteit 9%

Voeg eerst een achtervoegsel toe aan het applicatiepakket in de Gradle:

yourFlavor {
   applicationIdSuffix "yourFlavor"
}

Hierdoor wordt ervoor gezorgd dat uw pakket

wordt genoemd

com.domain.yourapp.yourFlavor

Ga vervolgens naar Firebase onder uw huidige project en voeg een Android-app toe aan deze met deze pakketnaam.

Vervang vervolgens het bestaande Google-services.json-bestand met de nieuwe die u genereert met de nieuwe app erin.

Dan eindigt u iets met meerdere “client_info” -secties. Dus je zou moeten eindigen met zoiets:

"client_info": {
    "mobilesdk_app_id": "YOUR APP INFO",
    "android_client_info": {
      "package_name": "com.domain.yourapp"
    }
  }
"client_info": {
    "mobilesdk_app_id": "YOUR APP INFO - will be different then other app info",
    "android_client_info": {
      "package_name": "com.domain.yourapp.yourFlavor"
    }
  }

9, Autoriteit 8%

U moet google-services.jsonplaatsen in app/DIR. En voor elk bouwtype moet er een accordeend directeur zijn in
app/srcMAPER.

Bijvoorbeeld, als u vrijgeeft en debuggen:

app/google-services.json
app/src/debug/google-services.json

In alle Google-Services.json-bestanden moet u correct opgeven package_namevolgens het build type.

In de debug-map zou het bijvoorbeeld moeten zijn als {com.myapp}.debug


Antwoord 10, autoriteit 6%

1.Controleer of Pakketnaamen Applicatie-IDhetzelfde moeten zijn

2.Verifieer google-services.json pakketnaamdie beschikbaar is in de app-map


Antwoord 11, autoriteit 5%

controleer of client_iden package_namein de google-services.jsoneen juiste waarde hebben volgens uw pakketnaam.

Je moet het genoemde bestand toevoegen aan de flavours-map met de bijbehorende pakketnaam in het veld client_iden package_name.


Antwoord 12, autoriteit 4%

Zorg ervoor dat u ApplicationId hernoemt in het gradle-bestand nadat u de naam van uw pakket heeft gewijzigd


Antwoord 13, autoriteit 3%

Open uw Google-services.json-bestand en zoek naar dit gedeelte in het bestand:

"client": [
{
  "client_info": {
    "mobilesdk_app_id": "1:857242555489:android:46d8562d82407b11",
    "android_client_info": {
      "package_name": "com.example.duke_davis.project"
    }
  }

controleer of het pakket hetzelfde is als uw pakketnaam. De mijne was anders, dus ik heb het veranderd en het werkte.


Antwoord 14, autoriteit 2%

In mijn geval vergat ik google-services.json in de hoofdmap van de app, die voor een andere smaak was. Het werd standaard gebruikt in plaats van json te gebruiken dat is opgeslagen in de map flavour. Deze plug-in verknalde en omdat de pakketnamen niet overeenkwamen, is deze mislukt.

Wijsheid die ik heb geleerd, controleer alle google-services.json in uw projectstructuur wanneer dit probleem zich voordoet.


15, Autoriteit 2%

U moet ook de naam van het pakket in Google-Diensten.json

wijzigen


16, Autoriteit 2%

Als uw pakketnaam op Google-Services.json-bestand in orde is,
Ga naar Gradle.Properties-bestand. Verander vervolgens uw applicatie_id = “com.yourpackage.name”


17

Ik denk dat je Firebase JSON-bestand “Google-services” hebt toegevoegd .json met het nieuwe bestand. Zorg ervoor dat u een nieuw bestand Controleer de link over het maken van JSON-bestand van Firebase en Het moet overeenkomen met uw pakketnaam

Tweede ding is dat als u de naam van de pakket wijzigt, gebruikt u de optie “Vervangen in pad” wanneer u met de rechtermuisknop op de bestanden klikt wanneer u Project uit de vervolgkeuzelijst selecteert. U moet in het hele project naar pakketnaam zoeken en vervangen!

Ik hoop dat dit helpt!


18

Als iemand de bestaande pakketnaam verandert, dan maakt het soms probleem, dus u moet de naam van de lokale pakket, build.gradle bestandspakketnaam wijzigen en als uw project een Google heeft Diensten.json -bestand moet u vervolgens eenvoudigweg uw JSON-bestandspakketnaam wijzigen.

Old File looks looks

"client": [
{
  "client_info": {
    "mobilesdk_app_id": "1:517104510151:android:8b7ed3989db24a6f928ae2",
    "android_client_info": {
      "package_name": "com.techsajib.oldapp"
    }
  },

Nieuw bestand ziet er zo uit

"client": [
{
  "client_info": {
    "mobilesdk_app_id": "1:517104510151:android:8b7ed3989db24a6f928ae2",
    "android_client_info": {
      "package_name": "com.techsajib.newapp"
    }
  },

Opmerking:soms hebben JSON-bestanden verschillende pakketnamen, dus verander ze allemaal


Antwoord 19

Als het niet werkte voor een van jullie, was mijn probleem met een pakketnaam die niet begon met een ‘com’.
heb het veranderd, nu werkt het.

hoop dat dat helpt


Antwoord 20

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.package.name"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

zorg ervoor dat de applicationId van Gradle.app hetzelfde is als uw pakketnaam. mijn probleem was dit en ik heb het op deze manier opgelost


Antwoord 21

ga naar je projectdirectory en maak mappen op app/src-pad die je productaroma’s een naam geven (zoals Alpha, Beta, Store of wat de naam van je smaak ook is). kopieer vervolgens uw google-services.json-bestand naar elke map. vergeet niet het veld ‘package_name’ te wijzigen in het google-services.json-bestand van elke productsmaak dat u in een submap heeft geplaatst.


Antwoord 22

Ga naar het bestand google-services.json en controleer in het clientgedeelte de pakketnaam en vergelijk deze met de naam van het app-pakket als ze anders zijn, verander dan de naam van het clientpakket volgens de naam van uw app-pakket. Het werkte voor mij veel succes. .

google-services.json-bestand-> “package_name”: “com.example.application.tracker”

App-pakketnaam->pakket “com.example.application.tracker”;


Antwoord 23

u kunt dat doen om dit probleem op te lossen.


Antwoord 24

Ik heb het opgelost door twee bronnensets te maken, een gratis en een betaald. Beide mappen bevatten de vereiste Java-code en bronbestanden, die worden aangepast aan de vereisten van de specifieke smaak. U wilt bijvoorbeeld de AdMob-code in de Paid verwijderen uit zowel Java-klassen als lay-outbestanden.


Antwoord 25

Ik heb hetzelfde probleem opgelost door het bestand google-services.jsonopnieuw te synchroniseren.

Gereedschappen > Firebase > Maak verbinding met Firebase > Synchroniseren


Antwoord 26

Ik heb hetzelfde probleem opgelost
hier is een simpele oplossing:
wanneer u een firebase-verbinding maakt, volgt u deze richtlijnen:

  • Voeg uw applicatienaam toe in firebase

  • Voeg de pakketnaam van uw applicatie toe (schrijf dezelfde pakketnaam die u in de app gebruikt)

  • wanneer firebase make google-services.jsonhet bestand downloadthet en plakthet in uw app-map

  • Synchroniseer je project Probleem is opgelost 🙂

    Bedankt


Antwoord 27

Ik krijg dit probleem ook als ik de pakketnaam van mijn applicatie verander.

Zoek in je Android Studio-project het bestand ‘google-services.json’.
Open het.
en controleer of de pakketnaam van uw applicatie hetzelfde is als geschreven in dit bestand.

De pakketnaam van uw applicatie en de pakketnaam in het bestand ‘google-services.json’ moeten hetzelfde zijn.


Antwoord 28

Dit betekent dat uw google-services.json-bestand ofwel niet bij uw applicatie hoort (Heeft u de google-services.json voor een andere app gedownload?)…dus om dit op te lossen, doet u het volgende:

1:Meld u aan bij Firebase en open uw project.
2:Klik op het pictogram Instellingen en selecteer Projectinstellingen.
3: Selecteer op de kaart Uw apps de pakketnaam van de app waarvoor u een configuratiebestand nodig hebt in de lijst.
4:Klik op google-services.json.

Nadat de download is voltooid, voegt u de nieuwe google-services.json toe aan de hoofdmap van uw project en vervangt u de bestaande..of verwijdert u gewoon de oude.
Het is heel normaal om google-services.json voor uw eerste project te downloaden en vervolgens aan te nemen of te vergeten dat deze specifieke google-services.json alleen voor uw huidige project is gemaakt, omdat geen ander project een unieke pakketnaam heeft.


Antwoord 29

Controleer op applicationIdSuffixin het build.gradle-bestand van uw app. Kijk of er tekst wordt samengevoegd met uw applicationId. Zo ja, verwijder deze dan.

Other episodes