我下面的谷歌代码实验室之一,使即时应用程序。我试图创建topeka-ui(* 即时应用程序的UI功能模块 *)。当我尝试运行其中一个即时应用程序模块时,它会说:已定义依赖功能,但未设置包ID。基本功能中可能缺少功能依赖项。
topeka-ui
zqdjd7g91#
我有一个问题,因为我有一个Android应用程序和一个Android库,但我错误地使用了错误的插件。对于应用程序:
plugins { id "com.android.application" id "kotlin-android" }
对于库:
plugins { id "com.android.library" id "kotlin-android" }
ktca8awb2#
由于这是“定义了依赖功能,但未设置软件包ID。您可能在基础功能中缺少功能依赖项”的唯一堆栈溢出问题。因此,我将回答我的问题,而不是创建一个新问题。我有一个模块向我提供了此错误,但无法找出问题所在。在依赖模块的build.gradle文件中,我有:
apply plugin: 'com.android.feature'
它应该是:
apply plugin: 'com.android.library'
vsikbqxv3#
我刚刚在AS3.0beta2上运行了代码实验室,没有问题(* 注)。在代码实验室的什么时候出现了你的问题?您可能遗漏了一个步骤。请仔细检查基础模块的build. gradle是否具有:
dependencies { ... application project(":topekaapk") feature project(":topekaui") }
忽略feature project(":topekaui")可能导致此错误:发生错误:com. android. builder.内部. aapt.已定义依赖功能,但未设置包ID。基本功能中可能缺少功能依赖项。注意:由于非基本模块(https://issuetracker.google.com/63814741)的数据绑定已被禁用,因此需要在多功能步骤7中执行一些额外的步骤来解决该问题(即,删除DataBindingUtil)。
feature project(":topekaui")
gopyfrb34#
我在build.gradle(...mylibrary)中做了这个,修复后它工作了:
plugins { - id 'com.android.application' + id 'com.android.library'} defaultConfig { - applicationId "com.example.mylibrary" minSdk 21 targetSdk 32}
hgc7kmma5#
当我忘记在基本模块的android.dynamicFeatures = [":module_name"]数组中添加对动态要素模块的引用时,我的动态要素模块中出现了这个问题
android.dynamicFeatures = [":module_name"]
zpf6vheq6#
从基本的即时应用项目结构出发,当您构建即时应用时,此模块会获取所有功能并创建即时应用APK。它不包含任何代码或资源;它只包含一个build.gradle文件,并应用了com.android.instantapp插件。
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文件不包含任何即时应用特定修改。根据您遇到的错误,您可能需要检查基本功能模块的构建配置文件。最后,请确保您的项目也与Gradle文件同步。有关详细信息,请参见Android Instant Apps documentation。
com.android.feature
ddarikpa7#
具有以下等级pugin
classpath 'com.android.tools.build:gradle:3.5.1'
在我的例子中,添加到应用的build.gradle之后
android{ dataBinding { enabled = true } }
我收到了发布的错误,然后执行以下操作
Android studio -> invalidate cache and restart
问题已解决!还没有修复?很可能build.gradle中存在相互冲突的依赖关系,例如同一库的旧版本和当前版本
nbnkbykc8#
步骤1)打开 * gradle. properties *步骤2)将android.enableJetifier=true添加到文件中成交!参见屏幕截图:
android.enableJetifier=true
odopli949#
您可能已将依赖模块添加为应用程序,但应将其添加为库。请检查模块的build.gradle文件和替换
plugins { id 'com.android.application'
到
plugins { id 'com.android.library'
如果在defaultConfig块中添加了内部模块的build.gradle,还将其从build.gradle中删除
9条答案
按热度按时间zqdjd7g91#
我有一个问题,因为我有一个Android应用程序和一个Android库,但我错误地使用了错误的插件。
对于应用程序:
对于库:
ktca8awb2#
由于这是“定义了依赖功能,但未设置软件包ID。您可能在基础功能中缺少功能依赖项”的唯一堆栈溢出问题。因此,我将回答我的问题,而不是创建一个新问题。我有一个模块向我提供了此错误,但无法找出问题所在。在依赖模块的build.gradle文件中,我有:
它应该是:
vsikbqxv3#
我刚刚在AS3.0beta2上运行了代码实验室,没有问题(* 注)。在代码实验室的什么时候出现了你的问题?
您可能遗漏了一个步骤。请仔细检查基础模块的build. gradle是否具有:
忽略
feature project(":topekaui")
可能导致此错误:发生错误:com. android. builder.内部. aapt.已定义依赖功能,但未设置包ID。基本功能中可能缺少功能依赖项。
注意:由于非基本模块(https://issuetracker.google.com/63814741)的数据绑定已被禁用,因此需要在多功能步骤7中执行一些额外的步骤来解决该问题(即,删除DataBindingUtil)。
gopyfrb34#
我在build.gradle(...mylibrary)中做了这个,修复后它工作了:
hgc7kmma5#
当我忘记在基本模块的
android.dynamicFeatures = [":module_name"]
数组中添加对动态要素模块的引用时,我的动态要素模块中出现了这个问题zpf6vheq6#
从基本的即时应用项目结构出发,
当您构建即时应用时,此模块会获取所有功能并创建即时应用APK。它不包含任何代码或资源;它只包含一个
build.gradle
文件,并应用了com.android.instantapp
插件。此外,请注意
基本功能模块的构建配置文件需要应用
com.android.feature
gradle插件。build.gradle
文件不包含任何即时应用特定修改。根据您遇到的错误,您可能需要检查基本功能模块的构建配置文件。最后,请确保您的项目也与Gradle文件同步。
有关详细信息,请参见Android Instant Apps documentation。
ddarikpa7#
具有以下等级pugin
在我的例子中,添加到应用的build.gradle之后
我收到了发布的错误,然后执行以下操作
问题已解决!
还没有修复?
很可能build.gradle中存在相互冲突的依赖关系,例如同一库的旧版本和当前版本
nbnkbykc8#
步骤1)打开 * gradle. properties *
步骤2)将
android.enableJetifier=true
添加到文件中成交!
参见屏幕截图:
odopli949#
您可能已将依赖模块添加为应用程序,但应将其添加为库。请检查模块的build.gradle文件和
替换
到
如果在defaultConfig块中添加了内部模块的build.gradle,还将其从build.gradle中删除