FAILURE: Build failed with an exception.
出了什么问题: 任务':app:lintVitalRelease'的执行失败。
无法解析配置':app:debugRuntimeClasspath'的所有工件。 无法转换libs.jar以匹配属性{artifactType = processed-jar,org.gradle.libraryelements = jar,org.gradle.usage = java-runtime}。 JetifyTransform的执行失败:E:\ AndroidStudioProjects \ FlutterProject \ EduyaariGuruFlutter \ eduyaari_guru_flutter \ build \ app \ intermediates \ flutter \ debug \ libs.jar。 无法使用Jetifier转换'E:\ AndroidStudioProjects \ FlutterProject \ EduyaariGuruFlutter \ eduyaari_guru_flutter \ build \ app \ intermediates \ flutter \ debug \ libs.jar'。原因:FileNotFoundException,消息:E:\ AndroidStudioProjects \ FlutterProject \ EduyaariGuruFlutter \ eduyaari_guru_flutter \ build \ app \ intermediates \ flutter \ debug \ libs.jar(系统找不到指定的路径)。 (使用--stacktrace运行以获取更多详细信息。) 请在http://issuetracker.google.com/issues/new?component=460323处提交错误。
尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行,以获取更多日志输出。使用--scan运行以获取完整的见解。
在1m 8s内失败
答案 0 :(得分:28)
步骤1。flutter build apk --debug
第2步。flutter build apk --profile
第3步。flutter build apk --release
答案 1 :(得分:11)
唯一适合我的解决方案是将gradle.build降级到
{
"scripts": {
"dev": "npm run development",
"dev:css": "postcss assets/css/style.css -o public/assets/css/style.css",
"dev:sync": "browser-sync start --proxy 'localhost:3000' --files='./views/**/*.html' --no-ui --no-notify",
"development": "cross-env NODE_ENV=development concurrently \"npm:dev:css\" \"nodemon app.js -e js,html\" \"npm:dev:sync\"",
},
"dependencies": {
"concurrently": "^5.2.0",
"express": "^4.17.1"
},
"devDependencies": {
"browser-sync": "^2.26.10",
"cross-env": "^7.0.2"
}
}
到
YError: Invalid first argument. Expected boolean or string but received function.
[dev:sync] at argumentTypeError (C:\laragon\www\projects\startup-reporter--node\node_modules\yargs\build\lib\argsert.js:64:11)
[dev:sync] at C:\laragon\www\projects\startup-reporter--node\node_modules\yargs\build\lib\argsert.js:45:17
[dev:sync] at Array.forEach (<anonymous>)
[dev:sync] at Object.argsert (C:\laragon\www\projects\startup-reporter--node\node_modules\yargs\build\lib\argsert.js:38:25)
[dev:sync] at Object.version (C:\laragon\www\projects\startup-reporter--node\node_modules\yargs\build\lib\yargs.js:796:19)
[dev:sync] at runFromCli (C:\laragon\www\projects\startup-reporter--node\node_modules\browser-sync\dist\bin.js:46:10)
[dev:sync] at Object.<anonymous> (C:\laragon\www\projects\startup-reporter--node\node_modules\browser-sync\dist\bin.js:38:5)
[dev:sync] at Module._compile (internal/modules/cjs/loader.js:776:30)
[dev:sync] at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
[dev:sync] at Module.load (internal/modules/cjs/loader.js:643:32)
并将gradle-warpper.properties更改为
dependencies {
classpath 'com.android.tools.build:gradle:4.0.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
到
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
Here,您会明白为什么不应该仅在gradle上添加distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
。
答案 2 :(得分:6)
我找到了本案所需的解决方法,我相信它也将对您有用。
我已在android的应用程序级别OUTPUT INSERTED.ChainID
中将checkReleaseBuilds
标志设置为false
,如下所示:
build.gradle
答案 3 :(得分:1)
运行这两个命令对我有用:
flutter build apk --profile
flutter build apk --release
答案 4 :(得分:0)
尝试在项目文件夹上运行flutter clean
,然后重试。似乎文件从构建文件夹中丢失了
答案 5 :(得分:0)
我发现提到了here
的解决方案当我执行Gradle同步时,我在Android Studio 4.0中遇到了此问题。我通过以下操作对其进行了修复:
打开顶级build.gradle
并将gradle类路径更改为:
classpath 'com.android.tools.build:gradle:4.0.0'
打开gradle\wrapper\gradle-wrapper.properties
并将分发URL更改为:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
.idea\jarRepositories.xml
这是我新开发的项目jarRepositories.xml
,您可以自己创建。
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter15" />
<option name="name" value="BintrayJCenter15" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="Google17" />
<option name="name" value="Google17" />
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven2" />
<option name="name" value="maven2" />
<option name="url" value="https://storage.googleapis.com/download.flutter.io" />
</remote-repository>
<remote-repository>
<option name="id" value="maven5" />
<option name="name" value="maven5" />
<option name="url" value="https://google.bintray.com/exoplayer/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven4" />
<option name="name" value="maven4" />
<option name="url" value="https://maven.fabric.io/public" />
</remote-repository>
<remote-repository>
<option name="id" value="MavenLocal" />
<option name="name" value="MavenLocal" />
<option name="url" value="file:$USER_HOME$/.m2/repository" />
</remote-repository>
</component>
</project>
不知道如何或为什么,但是它对我有用
答案 6 :(得分:0)
问题与版本有关。尝试更改插件的版本。这对我有用。
https://developer.android.com/studio/releases/gradle-plugin?authuser=1&hl=pt-br#updating-gradle
示例:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
classpath 'com.android.tools.build:gradle:3.6.4'
答案 7 :(得分:0)
在android build.gradle中,
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
}
不适用于我,并且在执行flutter运行时抛出了Firefire错误。 所以我将gradle版本更改为4.0.1。在flutter运行成功执行的地方,但是flutter build apk失败了,所以我将其版本更改为3.5.4。
在android / gradle / wrapper / gradle-wrapper.properties设置中,
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
对于flutter运行和flift构建apk都非常有效。 将来,此gradle版本可能不支持我们在项目中使用的少数插件,在这种情况下,请升级到下一个gradle版本。请在此处参考gradle版本:How Do I Fix "unexpected element <queries> found in <manifest>"?
答案 8 :(得分:0)
我遇到了同样的问题,并尝试先构建--debug,然后再构建--release,但仍然无法正常工作。但是,如果您查看特定错误中的路径,则该路径应以debug / libs.jar或profile / libs.jar结尾。这表明您需要首先构建哪个apk。在OP的情况下是debug / libs.jar,因此先构建--debug,然后再进行--release即可。就我而言,它是profile / libs.jar,因此先构建--profile,然后再--release即可。我敢肯定,构建--release不必访问调试或配置文件目录。
如果您的错误显示为debug / libs.jar,请先构建--debug,再构建--release。
如果您的错误显示为profile / libs.jar,则先构建--profile,再构建--release。
参考链接:https://github.com/flutter/flutter/issues/58247#issuecomment-636500680
答案 9 :(得分:0)
如果您看到此错误是因为您想在 gradle 上运行某些任务,例如 lintDebug
,那么您不需要构建可能很慢的 apk。您可以运行此命令来执行生成 lint 依赖项的任务:
./gradlew generateProfileDependenciesForLint generateReleaseDependenciesForLint
运行这些命令后,将生成每个构建 tyoe 的 lib.jar
,然后您可以运行需要 lib.jar
的 gradle 任务。它会让你安全很多时间。
答案 10 :(得分:-2)
Android Gradle LintPerVariantTask现在似乎正在将来自所有构建变体的JAR添加到其输入中: https://android.googlesource.com/platform/tools/base/+/1f9787310d64a66370627a2aaefa1e616565c17d
包含应用程序已编译Dart代码的libapp.so库打包在JAR中,并且为每个变体生成一个不同的JAR。我不确定如果lint任务期望所有变体的JAR都可用,应该如何处理动态生成的每个变体JAR。
作为一种黑客解决方法,您可以在 app / build.gradle 中更改lintOptions以禁用lint任务:
lintOptions {
checkReleaseBuilds false
}