我曾经使用这个简单的gradle任务将“compile”依赖项复制到一个特定的文件夹:
task copyLibs(type: Copy) {
from configurations.compile
into "$project.rootDir/reports/libs/"
}
但是在我的Android项目升级到4.1之后,它就停止工作了,这个项目使用的是Android Studio的gradle插件3.0.1和gradle工具。由于https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#new_configurations现在不推荐使用依赖项配置'compile',我将其更改为'implementation'。但是,我不能使用我的copyLibs任务,因为根据Gradle构建错误输出,直接解析配置“implementation”是不允许的:
$ ./gradlew.bat clean build
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine the dependencies of task ':app:copyLibs'.
> Resolving configuration 'implementation' directly is not allowed
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
android {
compileSdkVersion 26
defaultConfig {
applicationId "newgradle.com.testingnewgradle"
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
task copyLibs(type: Copy) {
from configurations.implementation
into "$project.rootDir/reports/libs/"
}
build.dependsOn copyLibs
如果我使用'compile'它的工作,但我希望符合最新的建议,这个插件的用法。
我需要帮助来升级我的copyLibs任务,以便像升级我的环境之前一样工作。我使用的是Android Studio的gradle插件2.2.3和gradle工具2.14.1。
不使用Configurations.implementation,最好的选择是使用:Configurations.runtimeClasspath
您还可以考虑:compileClasspath default
这些依赖关系用列在一个依赖项下,这个依赖项是我们的jar库,仍然是用gradle 5.1.1构建的 我们的库存储在一个S3桶中,我们使用shadowjar来生成结束Jar。 例如: 不幸的是,我不能创建一个真正的复制程序,因为这些库是我工作的公司的真正代码。 谢谢和问候,伊多
分级项目同步失败,未从其他相关问题中获得答案。以下是我的详细情况。 初始同步尝试产生以下错误消息: 我有Android Studio 3.0。build.gradle文件包含以下依赖项: 根据https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#update_gradle我需要做一些改变 首先,在
在Android Studio的提示下,我将我项目的Android Gradle插件从4.2.0-beta02升级到4.2.0-beta03。现在,每次同步构建文件时,都会出现以下构建错误: 此错误以前没有显示。下面是生成错误的模块的构建文件: 那么,这是最新AGP版本的一个bug,还是我的构建文件有什么问题,以前被忽略了,但现在被标记了?(我试着注释掉块的整个主体,但错误依然存在。我还试着使缓存
当我尝试升级到android gradle插件V3.2时。1编译SDK 28,我在Mac OS上的buildserver(debian)上得到下面的错误/堆栈跟踪,这很好。 旧的工作配置: classpath'com。Android工具。构建:gradle:3.1。4' 编译DK27版 buildToolsVersion'28.0。2' gradle包装器4.6 新的破碎配置 类路径com.and
我升级了我的AS,错误开始出现 我找了所有的地方,但我不能解决问题 这是我的构建。gradle(项目),脱机是未检查的,我做了无效和重启没有工作, 什么意思不能解决依赖?这是我在gradle(应用程序)中添加存储库时得到的结果
我最近下载了Android Studio Bumblebee,它很有帮助地问我是否想升级到Android Gradle Plugin 7.1.0,该版本与Android Studio Bumblebee一起发布。 升级后,我遇到一个生成错误: 看看文件,我看到: 这意味着我无法运行我的应用程序,我需要降低AGP 7.0的级别,以使其恢复工作。我如何修复这个问题并升级到Android Gradle插