Eine abhängige Funktion wurde definiert, aber es wurde keine Paket-ID festgelegt. Ihnen fehlt wahrscheinlich eine Funktionsabhängigkeit in der Basisfunktion

Lesezeit: 4 Minuten

Benutzeravatar von erluxman
Erluxmann

Ich folge einem der Google-Codelabs für die Erstellung einer Instant App.

Und ich habe versucht zu erschaffen topeka-ui (Ein UI-Funktionsmodul für Instant Apps).

Wenn ich versuche, eines der Instant-App-Module auszuführen, heißt es:

Eine abhängige Funktion wurde definiert, aber es wurde keine Paket-ID festgelegt. Ihnen fehlt wahrscheinlich eine Funktionsabhängigkeit in der Basisfunktion.

  • Haben Sie baseFeature=true in topekaui build.gradle festgelegt, weil die Datenbindung derzeit in Nicht-Basisfunktionsmodulen nicht unterstützt wird? Ich habe es getan und bin auch auf Ihr Problem gestoßen. Und auch keine gute Lösung dafür gefunden …

    – Mkr

    28. August 2017 um 9:26 Uhr

  • Ich habe die Lösung auch noch nicht gefunden

    – Erluxmann

    28. August 2017 um 9:30 Uhr

  • Das Ärgerlichste ist, dass ich nicht einmal finden kann, wo das abhängige Feature definiert wurde. kein Log, keine Debug-Info. Nichts. Es wird immer schlimmer, in Android Studio zu entwickeln. So verdammt frustrierend.

    – Gillis Haasnoot

    15. November 2017 um 1:07 Uhr

Ich hatte das Problem, dass ich eine Android-App und eine Android-Bibliothek hatte, aber versehentlich das falsche Plugin verwendet hatte.

Für eine App:

plugins {
    id "com.android.application"
    id "kotlin-android"
}

Für eine Bibliothek:

plugins {
    id "com.android.library"
    id "kotlin-android"
}

  • Vielen Dank! Aus irgendeinem Grund hat Android Studio auch automatisch die Plugin-ID “com.android.application” in der Bibliothek Gradle erstellt!

    – Idan

    14. November 2020 um 10:38 Uhr

Benutzeravatar von tim.paetz
tim.paetz

Da dies die einzige Stackoverflow-Frage für “Eine abhängige Funktion wurde definiert, aber keine Paket-ID festgelegt wurde. Ihnen fehlt wahrscheinlich eine Funktionsabhängigkeit in der Basisfunktion.” Ich werde hier beantworten, was mein Problem war, anstatt eine neue Frage zu erstellen. Ich hatte ein Modul, das mir diesen Fehler gab und konnte das Problem nicht herausfinden. In der build.gradle-Datei des abhängigen Moduls hatte ich:

apply plugin: 'com.android.feature'

Es hätte sein sollen:

apply plugin: 'com.android.library'

  • Danke guter Kumpel! Du hast meinen Tag gerettet! Wie Sie jemals herausgefunden haben, dass dies die Ursache des Fehlers war, werde ich nie erfahren. Das nächste Mal muss ich die Android-Bibliotheksoption verwenden, wenn ich ein neues Modul erstelle. Diese „Bibliothek“ enthält jedoch keinen Android-spezifischen Code.

    – Brian Reinhold

    9. Juli 2020 um 11:07 Uhr

  • Plugin anwenden: ‘com.android.library’ bitte Rechtschreibfehler korrigieren @tim.paetz

    – Harish Gyanani

    31. Juli 2020 um 13:55 Uhr

  • Perfekte Antwort.

    – Bhavesh Moradiya

    3. November 2020 um 14:20 Uhr

Benutzeravatar von TWL
TWL

Ich habe gerade das Codelab auf AS 3.0 Beta 2 ohne Probleme durchlaufen (* Hinweis). Nach welchem ​​Punkt im Codelab ist Ihr Problem aufgetreten?

Möglicherweise haben Sie einen Schritt ausgelassen. Überprüfen Sie noch einmal, ob die build.gradle Ihres Basismoduls Folgendes enthält:

dependencies {
    ...
    application project(":topekaapk")
    feature project(":topekaui")
}

Auslassen feature project(":topekaui") kann diesen Fehler verursachen:

Fehler: com.android.builder.internal.aapt.AaptException: Eine abhängige Funktion wurde definiert, aber es wurde keine Paket-ID festgelegt. Ihnen fehlt wahrscheinlich eine Funktionsabhängigkeit in der Basisfunktion.

Hinweis: Da die Datenbindung für Nicht-Basismodule deaktiviert wurde (https://issuetracker.google.com/63814741), sind einige zusätzliche Schritte im Schritt 7 für mehrere Funktionen erforderlich, um dies zu umgehen (z. B. DataBindingUtil loszuwerden).

  • Poste meine genaue Nachricht, um Suchmaschinen zu helfen: Verursacht durch: com.android.builder.internal.aapt.AaptException: Abhängige Funktionen konfiguriert, aber es wurde keine Paket-ID festgelegt.

    – Methodensignatur

    15. Oktober 2018 um 15:13 Uhr

Ich habe es in build.gradle (…mylibrary) gemacht, es behoben und es hat funktioniert:

plugins {
- id 'com.android.application'
+ id 'com.android.library'}

defaultConfig {
    - applicationId "com.example.mylibrary"
    minSdk 21
    targetSdk 32}

Ich hatte dieses Problem in meinem Dynamic Feature Module, als ich vergessen hatte, einen Verweis darauf in den Basismodulen hinzuzufügen android.dynamicFeatures = [":module_name"] Reihe

Benutzeravatar von Teyam
Teyam

Basis von grundlegende Instant-App-Projektstruktur,

Wenn Sie Ihre Instant-App erstellen, übernimmt dieses Modul alle Funktionen und erstellt Instant-App-APKs. Es enthält keinen Code oder Ressourcen; es enthält nur a build.gradle Datei und hat die com.android.instantapp Plugin darauf angewendet. Hier ist ein Beispiel:

apply plugin: 'com.android.instantapp'
...
dependencies {
    implementation project(':base')
    // if there additional features, they go here
    implementation project(':feature1')
}

Beachten Sie außerdem, dass

Die Build-Konfigurationsdatei des Basisfunktionsmoduls muss die anwenden com.android.feature Gradle-Plugin. Der build.gradle Datei enthält keine sofortigen App-spezifischen Änderungen.

Damit und in Übereinstimmung mit Ihrem aufgetretenen Fehler möchten Sie möglicherweise Ihre überprüfen Build-Konfigurationsdatei des Basisfunktionsmoduls. Schließlich stellen Sie sicher, dass Sie auch Synchronisieren Sie Ihr Projekt mit Gradle-Dateien.

Sehen Dokumentation zu Android Instant Apps für mehr Informationen.

Mit dem folgenden Gradle-Pugin

classpath 'com.android.tools.build:gradle:3.5.1'

In meinem Fall nach dem Hinzufügen zu build.gradle der App

android{
dataBinding {
        enabled = true
    }
}

Ich habe den geposteten Fehler erhalten und dann Folgendes getan

Android studio -> invalidate cache and restart

Problem wurde behoben!

Noch nicht behoben?

Wahrscheinlich gibt es eine widersprüchliche Abhängigkeit in build.gradle, wie die ältere und aktuelle Version derselben Bibliothek

1442910cookie-checkEine abhängige Funktion wurde definiert, aber es wurde keine Paket-ID festgelegt. Ihnen fehlt wahrscheinlich eine Funktionsabhängigkeit in der Basisfunktion

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy