执行com.android.build.gradle.internal.tasks时发生故障

时间:2019-08-22 09:43:22

标签: android android-studio gradle

构建APK时出现此错误。

# This script Extracts , Active Drirectory Groups the user is currently a memeber-of
$users = Get-Content "C:\powershell\Permmisions\users.txt"
foreach ($user in $users){ 
    Get-ADPrincipalGroupMembership $user | select name | export-csv C:\Powershell\1.csv -notypeinfo -append
}

试图使缓存无效并重新启动 android studio。重建项目,但它们对我都不起作用。

32 个答案:

答案 0 :(得分:18)

最后通过将这一行添加到gradle.properties中找到了解决方案。

org.gradle.jvmargs = -Xmx4608m

答案 1 :(得分:16)

尝试一下,in Android Studio

File > Invalidate Caches/Restart... 

答案 2 :(得分:9)

我已经启用了multidex,但是该版本太旧了,因此进行了升级,从而解决了该问题:

// Old version
implementation 'com.android.support:multidex:1.0.3'
// New version
def multidex_version = "2.0.1"
implementation 'androidx.multidex:multidex:$multidex_version'

答案 3 :(得分:5)

仅当构建为Lollipop或棉花糖时,我才获得与您类似的堆栈跟踪,并且解决方案是禁用高级配置。

在此处查找:

运行->编辑配置->分析->启用高级分析

error reporting

答案 4 :(得分:4)

搜索您的代码,您必须在xml可绘制的color.xml中引用颜色。 去给十六进制代码,而不是引用。...

示例: 在drawable.xml中,您必须致电

android:fillColor="@color/blue"

将其更改为android:fillColor="#ffaacc" 希望它能解决您的问题...

答案 5 :(得分:3)

我通过添加以下几行来消除此问题

在defaultConfig内的android> app> build.gradle中添加multiDexEnabled true

在依赖项内的android> app> build.gradle中添加implementation 'com.android.support:multidex:1.0.3'

答案 6 :(得分:2)

在android studio的右侧 单击gradle-> app-> build->组装。 然后android studio将开始构建,并向您显示该问题的正确消息。

答案 7 :(得分:2)

遇到类似的问题...我的修复是更改/更新 gradle 版本

   classpath "com.android.tools.build:gradle:4.1.2" 

   classpath "com.android.tools.build:gradle:4.1.3"

为我工作

答案 8 :(得分:1)

清理项目 -> 使缓存无效/重新启动。我的问题由此解决。

答案 9 :(得分:1)

就我的 Kotlin 而言 build.gradle:app 添加行依赖项: multiDexEnabled true 并添加 def multidex_version = "2.0.1" implementation 'androidx.multidex:multidex:$multidex_version'

答案 10 :(得分:1)

在我的代码中,我使用的是最新版本的 flutter 和包 并通过在

中添加行来消除此错误
multiDexEnabled true 
<块引用>

在应用级 build.gradle

答案 11 :(得分:1)

在android studio上工作:3.6.3和gradle版本:

ProcessBuilder p = new ProcessBuilder(command); p.start();

中添加此行

gradle.properties文件

classpath 'com.android.tools.build:gradle:3.6.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.72"

答案 12 :(得分:1)

我更新了这个并在 gradle 包装器属性中为我工作

distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip

答案 13 :(得分:1)

如果有任何人在添加Firebase存储后出现此问题,则该问题会扑灭。拍打干净然后重新运行,它将起作用

答案 14 :(得分:0)

就我而言,我启用了 multidex

打开 [project_folder]/app/build.gradle 并添加以下行。

defaultConfig {
    ...

    multiDexEnabled true
}

dependencies {
    ...

    implementation 'com.android.support:multidex:2.0.1'
}

答案 15 :(得分:0)

就我而言,我使用的是 react native,它发生在 gradle 更新到新版本时。我知道这与gradlew有关。我检查了几天前在 github 上发布的 repo。我更改了 android/build.gradle 依赖项中的 gradle 类路径并添加了

classpath("com.android.tools.build:gradle:3.5.3")
classpath 'com.google.gms:google-services:4.3.3'

它解决了我的问题。

答案 16 :(得分:0)

当我直接从GitHub下载代码文件时遇到了这个问题,但它显示了此错误,但是我的同事告诉我使用“ Git bash here ”并使用命令对其进行Gitclone。这样做之后,效果很好。

答案 17 :(得分:0)

就我而言,我只有 2 个以相同方式命名但路径不同的模块:

来自 ./settings.gradle

include ':presentation'
include ':third_parties/presentation'

我刚刚重命名了两个模块之一并更新了 ./settings.gradle 并解决了这个问题:

include ':presentation'
include ':third_parties/ui-implementation'

希望这可以帮助某人?

答案 18 :(得分:0)

就我而言,这是由于

//noinspection GradleCompatible
compile 'com.android.support:appcompat-v7:23.1.1'

//noinspection GradleCompatible
compile 'com.android.support:design:23.1.1'

尝试删除它。

答案 19 :(得分:0)

我也有同样的问题,你可以添加这个

org.gradle.jvmargs=-Xmx4608m 在您的 Gradle.properties

但就我而言,我是这样改变的:

来自: org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8

至: org.gradle.jvmargs=-Xmx4608m -Dfile.encoding=UTF-8

答案 20 :(得分:0)

使缓存无效并重新启动,稍后重新启动笔记本电脑为我完成了这项工作。

答案 21 :(得分:0)

改变时为我工作:

        <activity
        android:name="com.packagename.PurchaseActivity"
        android:configChanges="orientation|screenSize"
        android:label="@string/title_activity_purchase"
        android:screenOrientation="portrait" />

        <activity
        android:name=".PurchaseActivity"
        android:configChanges="orientation|screenSize"
        android:label="@string/title_activity_purchase"
        android:screenOrientation="portrait" />

将包名称作为应用程序的一部分删除到所有 java 类中,它为我解决了这个问题:-)

该应用程序最近已迁移到 AndroidX。

答案 22 :(得分:0)

就我而言,问题与视图绑定有关。由于无效的 xml 布局文件,它无法生成绑定类。在文件中,我有一个 Switch,id 为 switch,这是一个 Java 关键字。重命名 Switch id 解决了该问题。enter image description here

答案 23 :(得分:0)

解决方案:

Caused by 4: com.android.builder.internal.aapt.AaptException: Dependent features configured but no package ID was set.

所有功能模块都必须应用library插件,而不是application插件。

build.gradle(:androidApp:feature_A)

apply plugin: 'com.android.library'

这全部取决于每个堆栈的堆栈跟踪。原因1 WorkExecutionException可能是其他原因导致的。因此,我建议从打印的最后一个原因到第一个原因阅读完整的堆栈跟踪。因此,如果我们解决了最后一个原因,那么很有可能我们会固定从最后到第一个原因的链。

我附上我的堆栈跟踪示例,其中原始或具体问题是最后原因:

Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.res.LinkApplicationAndroidResourcesTask$TaskAction

Caused by: com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-4.2.0-alpha16-6840111-linux Daemon #0: Unexpected error during link, attempting to stop daemon.

Caused by: java.io.IOException: Unable to make AAPT link command.

Caused by 4: com.android.builder.internal.aapt.AaptException: Dependent features configured but no package ID was set.

GL

Feature Package ID was not set

答案 24 :(得分:0)

在我的情况下,问题是由于gradle包装中的gradle版本从 6.2全部升级到6.6 all 而引起的。因此,我清除了avd的数据并重新启动它,然后删除了 android / .gradle 中的 .gradle 文件夹,然后运行 yarn start --reset-cache 纱线android 。然后对我有用

答案 25 :(得分:0)

几分钟前,当我尝试在C/(.something../.something../.something../.something....)目录中运行一个Flutter项目时,我也遇到了同样的问题,

因此,我在E目录中创建了一个新文件夹,并在其中启动了一个新项目,当我运行它时.....出乎意料地它起作用了。我不知道为什么?

这是我在E:目录中运行后收到的消息

Launching lib\main.dart on Lenovo K33a42 in debug mode...
Running Gradle task 'assembleDebug'...
Checking the license for package Android SDK Platform 28 in 
C:\Users\Shankar\AppData\Local\Android\sdk\licenses
License for package Android SDK Platform 28 accepted.
Preparing "Install Android SDK Platform 28 (revision: 6)".
"Install Android SDK Platform 28 (revision: 6)" ready.
Installing Android SDK Platform 28 in 
C:\Users\Shankar\AppData\Local\Android\sdk\platforms\android-28
"Install Android SDK Platform 28 (revision: 6)" complete.
"Install Android SDK Platform 28 (revision: 6)" finished.
Parameter format not correct -
√ Built build\app\outputs\apk\debug\app-debug.apk.
Installing build\app\outputs\apk\app.apk...
Debug service listening on ws://127.0.0.1:51105/5xCsT5vV62M=/ws
Syncing files to device Lenovo K33a42...

答案 26 :(得分:0)

如果出现此错误,说明 signing-config.json (访问被拒绝)意味着您只需退出android studio,然后转到桌面首页并点击 android studio图标 strong>并提供以管理员身份运行 r,这将解决问题(或),您可以删除 signing-config.json 并重新-运行程序:)

答案 27 :(得分:0)

我知道这可能不是一个完整或精确的解决方案,但是对于那些即使在执行了该线程上给出的操作后仍然仍然遇到问题的人,请检查您在value文件夹中的文件。对我来说,有一个错字和一些缺失的价值。一旦我修复了这个错误,该错误就会停止。

答案 28 :(得分:0)

在尝试构建将VectorDrawable用作自适应图标的应用时,您可能会收到类似的错误。而且您的XML文件包含带有"android:fillColor"块的<gradient>

res / drawable / icon_with_gradient.xml

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:aapt="http://schemas.android.com/aapt"
    android:width="96dp"
    android:height="96dp"
    android:viewportHeight="100"
    android:viewportWidth="100">

    <path
        android:pathData="M1,1 H99 V99 H1Z"
        android:strokeColor="?android:attr/colorAccent"
        android:strokeWidth="2">
        <aapt:attr name="android:fillColor">
            <gradient
                android:endColor="#156a12"
                android:endX="50"
                android:endY="99"
                android:startColor="#1e9618"
                android:startX="50"
                android:startY="1"
                android:type="linear" />
        </aapt:attr>
    </path>
</vector>

自适应图标中通常使用渐变填充颜色,例如在教程hereherehere中。

即使布局预览工作正常,但在构建应用程序时,您仍会看到如下错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Error while processing Project/app/src/main/res/drawable/icon_with_gradient.xml : null

(More info shown when the gradle build is run with --stack-trace flag):

Caused by: java.lang.NullPointerException
    at com.android.ide.common.vectordrawable.VdPath.addGradientIfExists(VdPath.java:614)
    at com.android.ide.common.vectordrawable.VdTree.parseTree(VdTree.java:149)
    at com.android.ide.common.vectordrawable.VdTree.parse(VdTree.java:129)
    at com.android.ide.common.vectordrawable.VdParser.parse(VdParser.java:39)
    at com.android.ide.common.vectordrawable.VdPreview.getPreviewFromVectorXml(VdPreview.java:197)
    at com.android.builder.png.VectorDrawableRenderer.generateFile(VectorDrawableRenderer.java:224)
    at com.android.build.gradle.tasks.MergeResources$MergeResourcesVectorDrawableRenderer.generateFile(MergeResources.java:413)
    at com.android.ide.common.resources.MergedResourceWriter$FileGenerationWorkAction.run(MergedResourceWriter.java:409)

解决方案是将文件icon_with_gradient.xml移到 drawable-v24/icon_with_gradient.xml drawable-v26/icon_with_gradient.xml 。这是因为渐变填充仅在API 24(Android 7)及更高版本中受支持。此处更多信息:VectorDrawable: Invalid drawable tag gradient

答案 29 :(得分:0)

找到了解决方案。

将此代码添加到您的build.gradle中,

Group

答案 30 :(得分:-1)

如果您尝试了上述所有解决方案,但仍然无法解决问题。

尝试从您的Gradle依赖项中删除此文件,由于存在这一障碍,我花了2个小时的时间。

implementation "com.squareup.retrofit2:adapter-rxjava2:2.3.0"

答案 31 :(得分:-1)

classpath'com.android.tools.build:gradle:3.3.2' 更改类路径,它将起作用