Android-studio 3.4.0-3.4.2 Gradle 错误:没有为属性“manifestOutputDirectory”指定值

Posted

技术标签:

【中文标题】Android-studio 3.4.0-3.4.2 Gradle 错误:没有为属性“manifestOutputDirectory”指定值【英文标题】:Android-studio 3.4.0-3.4.2 Gradle ERROR: No value has been specified for property 'manifestOutputDirectory' 【发布时间】:2019-09-25 18:17:01 【问题描述】:

当升级到 android-studio 3.4.x/gradle build plugin 3.4.x /gradle 5.3 ...想知道它是否是 android 插件的问题。

ERROR: No value has been specified for property 'manifestOutputDirectory'.

我的 gradle 脚本没有使用清单相关的变量,也没有更改清单。我升级前的版本是 Android-Studio: 3.3/Gradle pulgin: 3.3.2/Gradle: 5.3


第一次更新(20190508):修复方法(临时)

找到一个临时修复方法,但纠正错误的方法仍然未知。 避免方法: 我是Mac OS X系统:点击Android Studio->Preperences...->Experimental 取消选中:仅同步活动变体。

我研究了文档。此功能可以提高编译速度。如果找到修复方法,我还是想继续勾选“仅同步活动变体”。


第二次更新(20190518):

浏览了一些文档没有找到解决办法。

但可能会找到一些重复出现的情况供您参考。

这个问题的过程是主动启动Gradle的项目同步操作。比如图中的两个地方点击的时候会出现。如果出现问题,您需要取消选中“仅同步活动变体”。

但是,编译安装成功后,勾选“Only sync the active variant.”,这个问题就不会再出现了,即使改build.gradle文件,需要再次同步的top通知,不要点击“立即同步”,直接使用run 'app'或debug 'app',Android-studio会自动进行同步然后编译运行,不会再出现此问题。

一开始我以为改build.gradle的代码就可以解决这个问题。现在我觉得 Android-studio 或 gradle-plugin 在执行项目同步时有一些问题。希望后续版本能解决这个问题。


第三次更新(20190821):

Android-studio 3.5.0/ gradle build plugin 3.5.0/ gradle 5.4.1

当前最新的稳定版本修复了这个问题。

启用“仅同步活动变体”即可。

【问题讨论】:

我在 Android Studio 3.6 Beta 3 上发生了这个错误。已经尝试了这里提到的所有内容,但没有任何乐趣。任何帮助都将不胜感激。 【参考方案1】:

Mac OS - 点击 Android Studio > Preferences > Experimental 然后您必须取消选中 - Only sync the active variant。

Windows - File > settings > Experimental 然后你必须取消选中 - Only sync the active variant。

【讨论】:

大声笑。在 Android 3.5 上,这已经被选中并取消选中它解决了我的问题。【参考方案2】:

在干净的 PC 安装上,我在这里尝试了所有技巧,但没有任何效果。我注意到记录了许可证未被接受的消息。我打开 SDK 管理器,下载了一些提示我接受许可的包,它开始同步。

【讨论】:

我不小心取消了全新安装的 android studio,但我从未获得许可协议同意/取消部分。安装随机api提示许可协议并修复问题。【参考方案3】:

当我买了一台新笔记本电脑并全新安装了 Android Studio 时,这发生在我身上。

我通过安装我的项目所针对的正确 Android SDK 版本解决了这个问题。全新安装 Android Studio 时,我的新机器上只安装了 API 29,但我的项目以 API 28 为目标。

打开 SDK 管理器并为您的应用下载正确的 Android SDK,此错误应该会自行解决。

【讨论】:

【参考方案4】:

与@user3407078 答案相同。

就我而言。这是由于 Android Studio 3.5 更新所致,我尚未安装或接受构建工具和 SDK 平台 29 的许可和协议.

Checking the license for package Android SDK Build-Tools 29.0.2 in ~/Library/Android/sdk/licenses
Warning: License for package Android SDK Build-Tools 29.0.2 not accepted.
Checking the license for package Android SDK Platform 29 in ~/Library/Android/sdk/licenses
Warning: License for package Android SDK Platform 29 not accepted.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> No value has been specified for this provider.

建议更新最新的 SDK 工具和平台,在本例中为版本 29。即使我们只开发低版本,也必须在 Android Studio 上工作。

已编辑:

    在极少数情况下,您可能还想禁用 Gradle 功能 here thx @waqas-khalid-obeidy 或者,如果您使用的是gradlew 命令行任务,请浏览here 以获取完整说明。谢谢@amir-ziarati

【讨论】:

和我的问题很相似,我打开的项目没有安装compileSDK。【参考方案5】:

我刚刚升级到 AS 3.4 并且遇到了同样的问题。这发生在冷启动应用程序时。 Build > Make Project 工作正常,从命令行构建也是如此。

【讨论】:

我试过了,出现这个问题的时候,尝试清理项目,然后编译也成功了,但是每次都需要清理项目,真的很烦。 . .【参考方案6】:

在浪费了我一整天之后,我得到了这个问题的解决方案。

只是

    进入android studio中的SDK管理器 安装一些 SDK 包 重建项目

已解决!

【讨论】:

【参考方案7】:

就我而言,问题是我选择了增量选项

解决问题

打开gradle.properties文件并删除行

kapt.incremental.apt=true   //remove or comment this line

【讨论】:

【参考方案8】:

可能缺少 Java JDK,可能需要检查一下

【讨论】:

【参考方案9】:

就我而言,这是因为某些 sdk 许可证未被接受。当我通过命令行运行 gradlew 时,我想通了。下面的链接向您展示了如何通过 sdkManager 工具接受所有许可。

You have not accepted the license agreements of the following SDK components

【讨论】:

【参考方案10】:

就我而言,我没有安装compileSdkVersion支持的SDK。

例如:如果您提到了您的 compileSdkVersion 28。请确保它已安装在您的 SDK 管理器中。如果您还没有,请安装它。

【讨论】:

【参考方案11】:

通过“Run as Amdinistrator”启动 Android Studio

【讨论】:

以上是关于Android-studio 3.4.0-3.4.2 Gradle 错误:没有为属性“manifestOutputDirectory”指定值的主要内容,如果未能解决你的问题,请参考以下文章

python list 怎么删除

数据选择

ubuntu16.04安装opencv3.4.1教程

Android-Studio 缓存文件夹配置

Android-Studio(或一般的 IDEA)重构多个源集

是否可以在 Android-Studio 或 IntelliJ 上使用 SWT?