开发者问题收集

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

2019-05-08
42060

升级到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脚本没有使用manifest相关的变量,也没有改变manifest,我升级前的版本是Android-Studio: 3.3/Gradle pulgin: 3.3.2/Gradle: 5.3


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

找到临时修复方法,但是修复错误的方法还是未知的。 避免方法: 我是Mac OS X系统:点击Android Studio->Preperences...->Experimental 取消勾选:Only sync the active variant。

我研究了一下文档,这个功能可以提高编译速度。如果找到修复方法,还是要继续勾选“Only sync the active variant”。


第二次更新(20190518):

翻看了一些文档,没有找到解决办法。

不过大概找到一些反复出现的情况,供大家参考。

这个问题的流程是Gradle主动启动项目同步操作,比如图中两处,点击后就会出现,如果出现问题,需要取消勾选“Only sync the active variant”。 enter image description here

但是,编译安装成功后,勾选“Only sync the active variant.”,就不会再出现这个问题了,就算你改了build.gradle文件,上面又提示需要同步,不要点“Sync now”,直接用run 'app'或者debug 'app',Android-studio会自动进行同步再编译运行,就不会再出现这个问题了。 enter image description here

一开始以为改build.gradle的代码可以解决这个问题,现在感觉Android-studio或者gradle-plugin在执行project sync的时候有点问题,希望后续版本能解决这个问题。


第三次更新(20190821):

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

目前最新稳定版本已经修复了这个问题。

开启“Only sync the active variant”就可以了。

3个回答

Mac OS - 单击 Android Studio > 偏好设置 > 实验性,然后您必须取消选中 - 仅同步活动变体。

Windows - 文件 > 设置 > 实验性,然后您必须取消选中 - 仅同步活动变体。

取消选中该选项已选中

Aditya Singh
2019-05-13

在干净的 PC 安装中,我尝试了这里的每个技巧,但都不起作用。我注意到有记录的消息说许可证未被接受。我打开了 SDK 管理器,下载了一些提示我接受许可证的软件包,然后它开始同步。

user3407078
2019-09-26

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

我通过安装适合我的项目目标的 Android SDK 版本解决了这个问题。在全新安装 Android Studio 时,我的新机器上只安装了 API 29,但我的项目目标是 API 28。

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

DiscDev
2019-12-05