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”指定值的主要内容,如果未能解决你的问题,请参考以下文章