A dependent feature was defined but no package ID was set. You are probably missing a feature dependency in the base feature

24,697

Solution 1

I just ran through the codelab on AS 3.0 beta 2 without issues (*note). After what point in the codelab did your issue appear?

You might’ve missed a step. Double check that your base module’s build.gradle has:

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

Leaving out feature project(":topekaui") can cause this error:

Error:com.android.builder.internal.aapt.AaptException: A dependent feature was defined but no package ID was set. You are probably missing a feature dependency in the base feature.

Note: because data-binding has been disabled for non-base modules (https://issuetracker.google.com/63814741), there requires some additional steps in the multi-feature step-7 to get around it (ie. getting rid of the DataBindingUtil).

Solution 2

I had an issue in that I had an Android app and an Android Library, but I had used the wrong plugin by mistake.

For an app:

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

For a library:

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

Solution 3

Since this is the only stackoverflow question for "A dependent feature was defined but no package ID was set. You are probably missing a feature dependency in the base feature." I will answer what my issue was here rather than create a new question. I had a module that was giving me this error and couldn't figure out the problem. In the dependent module's build.gradle file, I had:

apply plugin: 'com.android.feature'

It should have been:

apply plugin: 'com.android.library'

Solution 4

I had this issue in my Dynamic Feature Module when I forgot to add a reference to it in the base module's android.dynamicFeatures = [":module_name"] array

Solution 5

With the following gradle pugin

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

In my case, after adding to app's build.gradle

android{
dataBinding {
        enabled = true
    }
}

I got the posted error, then doing the following

Android studio -> invalidate cache and restart

Issue got fixed!

Not Fixed Yet?

Probably there is a conflicting dependency residing in build.gradle, like the older and current version of the same library

Share:
24,697
erluxman
Author by

erluxman

Open for remote jobs You can also hire me through upwork https://wwwerluxman.com https://www.upwork.com/freelancers/~01ca1c56b1ce85b4dd

Updated on October 26, 2020

Comments

  • erluxman
    erluxman over 3 years

    I am following one of the Google Codelabs for making an Instant App.

    And I was trying to create topeka-ui (A UI feature module for Instant Apps).

    When I try to run one of the instant app module it says :

    A dependent feature was defined but no package ID was set. You are probably missing a feature dependency in the base feature.

  • methodsignature
    methodsignature over 5 years
    Posting my exact message to help with search engines: Caused by: com.android.builder.internal.aapt.AaptException: Dependent features configured but no package ID was set.
  • gb96
    gb96 almost 5 years
    WARNING: The com.android.feature plugin is deprecated and will be removed in a future gradle plugin version. Please switch to using dynamic-features or libraries. For more information on converting your application to using Android App Bundles, please visit developer.android.com/topic/google-play-instant/…
  • Brian Reinhold
    Brian Reinhold almost 4 years
    Thanks good buddy! You saved my day! How you ever figured out that was the cause of the error I will never know. Next time I will need to use the Android Library option when I create a new module. However, this 'library' contains no Android-specific code.
  • Harish Gyanani
    Harish Gyanani almost 4 years
    apply plugin: 'com.android.library' please correct spelling mistake @tim.paetz
  • Bhavesh Moradiya
    Bhavesh Moradiya over 3 years
    Perfect Answer.
  • Idan
    Idan over 3 years
    Thank you so much! For some reason, Android Studio automatically created the plugin id "com.android.application" in library gradle too!
  • Tim Malseed
    Tim Malseed over 2 years
    You saved my cat's life