23

我正在尝试创建一个新模块。这个模块的元素应该对第一个模块可见。这就是我添加的原因implementation project(":messanger")Build.gradle(:app)但它给出了以下错误:

Dependent features configured but no package ID was set.
Execution failed for task ':app:processDebugResources'.
A failure occurred while executing 
com.android.build.gradle.internal.tasks.Workers$ActionFacade
AAPT2 aapt2-4.0.0-beta01-6051327-linux Daemon #0: Unexpected error during link, attempting 
 to 
stop daemon.
 This should not happen under normal circumstances, please file an issue if it does.
4

4 回答 4

36

您创建的模块正在使用插件“com.android.application”,它应该使用“com.android.library”插件。您可以在模块的 build.gradle 文件中找到它,将其更改为使用库插件,它应该可以编译。

于 2020-05-24T09:11:14.263 回答
6

如果模块是库,而不是应用程序

使用以下配置build.gradle ( for the module )

plugins {
    // id 'com.android.application'
    id "com.android.library"
}

android {
    defaultConfig {
     //   applicationId "com.xxx.xx.x"
    }
}

看来,图书馆不需要applicationId

于 2021-05-09T09:30:12.453 回答
6

我整合了目前的 Reedy 答案,强调应用程序和模块必须使用两个不同的插件。

如果您转向 buildSrc 方法(强烈建议),您应该在以下位置声明两个不同的变量: buildSrc/src/main/java/dependencies.kt

object Plugins {

   const val androidApplication    = "com.android.application"
   const val androidLibrary        = "com.android.library"
}

并在 app 和 mymodule build.gradle 中正确使用它们

:应用程序

plugins {
    id(Plugins.androidApplication)
     .......

}

:mymodule

plugins {
    id(Plugins.androidLibrary)
     .........
}
于 2020-05-30T14:41:42.117 回答
3

检查您的模块是否是:库而不是应用程序

在 build.gradle 检查是否:'com. 安卓。图书馆'

于 2021-02-08T04:41:06.913 回答