在更新到Android Studio 3.0并创建一个新项目后,我注意到build.gradle
有一种新方法可以添加新的依赖项,而不是compile
存在implementation
而不是testCompile
存在testImplementation
.
例:
implementation 'com.android.support:appcompat-v7:25.0.0'
testImplementation 'junit:junit:4.12'
Run Code Online (Sandbox Code Playgroud)
代替
compile 'com.android.support:appcompat-v7:25.0.0'
testCompile 'junit:junit:4.12'
Run Code Online (Sandbox Code Playgroud)
它们之间有什么区别,我应该使用什么?
dependency-management gradle transitive-dependency build.gradle gradle-plugin
我有下一个年级
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-rc01'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.android.material:material:1.0.0-rc01'
}
Run Code Online (Sandbox Code Playgroud)
但是当我想构建应用程序时,我会得到下一个日志:
Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0-alpha3] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0-alpha3] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-19:19 to override.
Run Code Online (Sandbox Code Playgroud)
好! 去清单并执行:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="ru.chopcode.myapplication">
<application
tools:replace="android:appComponentFactory"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
然后我在Logcat中收到此错误:
Manifest merger failed with multiple errors, see logs that I have …
Run Code Online (Sandbox Code Playgroud) 我不明白gradle插件块
apply plugin: 'someplugin1'
apply plugin: 'maven'
Run Code Online (Sandbox Code Playgroud)
和其他一个:
plugins {
id 'org.hidetake.ssh' version '1.1.2'
}
Run Code Online (Sandbox Code Playgroud)
在第一个块我们有一些插件名称.在第二个包和版本.我不明白我应该在哪里使用第一块和第二块.
我将我的项目升级到Android Studio Arctic Fox,因此我必须将gradle升级到7.0.2,并将gradle构建工具升级到7.0.0-beta04。
同步后,我在“同步”选项卡中收到此警告消息:
org.gradle.api.InvalidUserCodeException: Querying the mapped value of provider(interface java.util.Set) before task ':myapp:compileDebugUnitTestKotlin' has completed is not supported
at org.gradle.api.internal.provider.TransformBackedProvider.lambda$beforeRead$0(TransformBackedProvider.java:84)
at org.gradle.api.internal.file.AbstractFileCollection$ElementsProvider$1.visitProducerTasks(AbstractFileCollection.java:361)
at org.gradle.api.internal.provider.ValueSupplier$ValueProducer.visitContentProducerTasks(ValueSupplier.java:59)
at org.gradle.api.internal.provider.TransformBackedProvider.beforeRead(TransformBackedProvider.java:81)
at org.gradle.api.internal.provider.TransformBackedProvider.calculateOwnValue(TransformBackedProvider.java:63)
at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:103)
at org.gradle.api.internal.provider.Collectors$ElementsFromCollectionProvider.collectEntries(Collectors.java:216)
at org.gradle.api.internal.provider.AbstractCollectionProperty$PlusCollector.collectEntries(AbstractCollectionProperty.java:445)
at org.gradle.api.internal.provider.AbstractCollectionProperty$PlusCollector.collectEntries(AbstractCollectionProperty.java:445)
at org.gradle.api.internal.provider.AbstractCollectionProperty$CollectingSupplier.calculateValue(AbstractCollectionProperty.java:337)
at org.gradle.api.internal.provider.AbstractCollectionProperty.calculateValueFrom(AbstractCollectionProperty.java:184)
at org.gradle.api.internal.provider.AbstractCollectionProperty.calculateValueFrom(AbstractCollectionProperty.java:37)
at org.gradle.api.internal.provider.AbstractProperty.doCalculateValue(AbstractProperty.java:133)
at org.gradle.api.internal.provider.AbstractProperty.calculateOwnValue(AbstractProperty.java:127)
at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:103)
at org.gradle.api.internal.provider.Collectors$ElementsFromCollectionProvider.collectEntries(Collectors.java:216)
at org.gradle.api.internal.provider.AbstractCollectionProperty$CollectingSupplier.calculateValue(AbstractCollectionProperty.java:337)
at org.gradle.api.internal.provider.AbstractCollectionProperty.calculateValueFrom(AbstractCollectionProperty.java:184)
at org.gradle.api.internal.provider.AbstractCollectionProperty.calculateValueFrom(AbstractCollectionProperty.java:37)
at org.gradle.api.internal.provider.AbstractProperty.doCalculateValue(AbstractProperty.java:133)
at org.gradle.api.internal.provider.AbstractProperty.calculateOwnValue(AbstractProperty.java:127)
at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:103)
at org.gradle.api.internal.provider.Collectors$ElementsFromCollectionProvider.collectEntries(Collectors.java:216)
at org.gradle.api.internal.provider.AbstractCollectionProperty$CollectingSupplier.calculateValue(AbstractCollectionProperty.java:337)
at org.gradle.api.internal.provider.AbstractCollectionProperty.calculateValueFrom(AbstractCollectionProperty.java:184)
at org.gradle.api.internal.provider.AbstractCollectionProperty.calculateValueFrom(AbstractCollectionProperty.java:37)
at org.gradle.api.internal.provider.AbstractProperty.doCalculateValue(AbstractProperty.java:133)
at org.gradle.api.internal.provider.AbstractProperty.calculateOwnValue(AbstractProperty.java:127)
at org.gradle.api.internal.provider.AbstractMinimalProvider.get(AbstractMinimalProvider.java:84)
at …
Run Code Online (Sandbox Code Playgroud) android gradle android-gradle-plugin gradle-plugin gradle-kotlin-dsl
当我从 github 下载项目时,我多次遇到这个问题,我正在使用新的 Android studio(bumble bee),如果有人知道请帮助我
https://github.com/fjbatresv/arcore_solar_system.git(这是我在大黄蜂中下载的项目)
没有任何gradle问题
实际上,我已经尝试了 stack over flow 中的许多解决方案,但我得到了 gradle 的解决方案,但这不是与 gradle 相关的错误。
android augmented-reality build.gradle android-gradle-plugin gradle-plugin
我正在尝试使用最新的Gradle版本(2.0),但是当我在终端中使用gradle build时我会收到此消息.为什么要求1.10版本?我是Gradle的新手,所以我正试图绕过它.
Gradle版本1.10是必需的.当前版本是2.0
这是我的依赖项(模块build.gradle文件):
dependencies {
classpath 'com.android.tools.build:gradle:0.12.+'
classpath fileTree(dir: 'build-libs', include: '*.jar')
}
Run Code Online (Sandbox Code Playgroud)
...和包装器任务:
task wrapper(type: Wrapper) {
gradleVersion = "2.0"
}
Run Code Online (Sandbox Code Playgroud)
另外,我已将分发URL设置如下(在local.properties文件中):
distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-all.zip
Run Code Online (Sandbox Code Playgroud)
最后一点是File->Settings->Gradle
,我选择了"使用可自定义的gradle包装"
GRADLE_HOME
设置为C:\ Program Files(x86)\ Gradle\gradle-2.0
build.gradle文件:
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.+'
classpath fileTree(dir: 'build-libs', include: '*.jar')
}
}
task wrapper(type: Wrapper) {
gradleVersion = "2.0"
}
Run Code Online (Sandbox Code Playgroud)
UPDATE1
现在我正在使用这个带有1.1.0-rc1插件版本的Android Studio 1.1.0
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0-rc1'
}
Run Code Online (Sandbox Code Playgroud)
Gradle版本在gradle-wrapper.properties中为2.3
distributionUrl=http\://services.gradle.org/distributions/gradle-2.3-all.zip
Run Code Online (Sandbox Code Playgroud)
我试过插件版本1.1.0,但后来抱怨com.android.application
更新01/2016
就目前而言,我在gradle中使用gradle 2.9发布 - > …
我遇到了这种错误,如何修复它.
Error:Unable to load class 'org.gradle.tooling.internal.protocol.test.InternalTestExecutionConnection'.
Possible causes for this unexpected error Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle …
Run Code Online (Sandbox Code Playgroud) 我刚刚升级了我们的项目以使用 gradles 构建和配置缓存来帮助构建速度。但是当运行这个命令时构建失败
gradlew dependencies --stacktrace --scan
Run Code Online (Sandbox Code Playgroud)
我的 gradle.properties 文件中有这个
org.gradle.unsafe.configuration-cache=true
Run Code Online (Sandbox Code Playgroud)
这是我收到的错误
FAILURE: Build failed with an exception.
* What went wrong:
Configuration cache problems found in this build.
2 problems were found storing the configuration cache.
- Task `:dependencies` of type `org.gradle.api.tasks.diagnostics.DependencyReportTask`: cannot serialize object of type 'org.gradle.api.artifacts.Configuration' as these are not supported with the configuration cache.
See https://docs.gradle.org/7.0/userguide/configuration_cache.html#config_cache:requirements:disallowed_types
- Task `:dependencies` of type `org.gradle.api.tasks.diagnostics.DependencyReportTask`: invocation of 'Task.project' at execution time is unsupported.
See https://docs.gradle.org/7.0/userguide/configuration_cache.html#config_cache:requirements:use_project_during_execution
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?或者是什么导致了这个问题?我真的不知道在哪里进行故障排除,因为我不知道这是否是我的 gradle 配置中的错误。
完整的堆栈跟踪 …
android gradle build.gradle android-gradle-plugin gradle-plugin
我对正在孵化的 Gradle 版本目录感到非常兴奋,并且一直在尝试它。I\xe2\x80\x99ve 发现我的信息可以在我的应用程序和 utility-lib 项目的脚本gradle/libs.versions.toml
中访问。build.gradle.kts
但是,我无法使用该toml
文件的内容buildSrc/build.gradle.kts
或约定文件。
我可以构建的唯一方法是将依赖项硬编码到这些文件中,就像我在版本目录功能之前所做的那样。
\n在该buildSrc
文件夹中,我创建了一个settings.gradle.kts
文件并插入了 的dependencyResolutionManagement
代码versionCatalogs
,该代码指向与我的应用程序和 utility-lib 项目相同的文件。
根据 Gradle7文档,似乎可以与 和 模块共享版本目录\xe2\x80\xa6 I\xe2\x80\x99d如果可能的buildSrc
话,希望能够推动它与 一起工作。buildSrc
这是一个简单的示例项目,我通过以下方式创建gradle init
:my-version-catalog
感谢您的时间和帮助,
\n麦克风
\n我在Gradle 4.6中有一个简单的项目,并希望制作一个可执行的jar.我试过shadow
,gradle-fatjar-plugin
,gradle-one-jar
,spring-boot-gradle-plugin
插件,但他们都没有增加我的依赖性声明implementation
(我没有任何compile
的).它适用compile
于gradle-one-jar
插件,但我想有implementation
依赖.
非常感谢你!