已定义依赖功能,但未设置包ID。您可能缺少基本功能中的功能依赖项

时间:2017-08-26 03:26:55

标签: android android-instant-apps android-architecture

我正在关注其中一个Google Codelabs制作即时应用程序。

我正在尝试创建topeka-ui即时应用的UI功能模块)。

当我尝试运行其中一个即时应用模块时,它说:

  

已定义相关功能但未设置包ID。     您可能缺少基本功能中的功能依赖项。

6 个答案:

答案 0 :(得分:6)

我刚刚运行AS 3.0 beta 2上的codelab而没有问题(* note)。在codelab中你的问题出现了什么?

你可能错过了一步。仔细检查基础模块的build.gradle是否具有:

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

退出feature project(":topekaui")会导致此错误:

  

错误:com.android.builder.internal.aapt.AaptException:一个依赖项   功能已定义,但未设置包ID。你很可能   缺少基本功能中的功能依赖项。

注意:因为已经为非基本模块(https://issuetracker.google.com/63814741)禁用了数据绑定,所以在多功能步骤7中需要一些额外的步骤来解决它(即摆脱DataBindingUtil) )。

答案 1 :(得分:4)

我遇到一个问题,因为我有一个Android应用程序和一个Android库,但是我错误地使用了错误的插件。

对于应用程序:

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

对于图书馆:

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

答案 2 :(得分:1)

当我忘记在基本模块的android.dynamicFeatures = [":module_name"]数组中添加对它的引用时,我在动态功能模块中遇到了这个问题

答案 3 :(得分:0)

基于basic instant app project structure

  

当您构建即时应用时,此模块将获取所有功能并创建即时应用APK。它没有任何代码或资源;它只包含一个build.gradle文件,并且已应用com.android.instantapp插件。这是一个例子:

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

此外,请注意

  

基本要素模块的构建配置文件需要应用com.android.feature gradle插件。 build.gradle文件不包含任何即时应用程序特定修改。

使用此功能并与您遇到的错误一致,您可能需要检查base feature module's build configuration file。最后,请确保您sync your project with gradle files

有关详细信息,请参阅Android Instant Apps documentation

答案 4 :(得分:0)

由于这是"唯一的stackoverflow问题;已定义依赖功能,但未设置包ID。您可能在基本功能中缺少功能依赖项。"我将回答我的问题,而不是创建一个新问题。我有一个模块给了我这个错误,但无法解决问题。在模块的build.gradle文件中,我有:

apply plugin: 'com.android.feature'

应该是:

apply plugin: 'com.android.libary'

答案 5 :(得分:0)

使用以下gradle pugin

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

就我而言,添加到应用程序的build.gradle中

android{
dataBinding {
        enabled = true
    }
}

我收到了发布的错误,然后执行以下操作

Android studio -> invalidate cache and restart

问题已解决!

尚未修复?

build.gradle中可能存在冲突的依赖关系, 就像同一个库的旧版本和当前版本一样