我将AS 3.1与gradle-4.5-all.zip
和主build.gradle
一起使用:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
}
}
allprojects {
repositories {
jcenter()
google()
}
}
app-level
build.gradle
如下所示:
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
useLibrary 'org.apache.http.legacy'
defaultConfig {
applicationId "com.example"
minSdkVersion 14
targetSdkVersion 27
versionCode 6
versionName "1.00"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
implementation 'ch.acra:acra:4.6.1'
implementation 'commons-validator:commons-validator:1.5.0'
implementation 'com.android.support:support-v13:27.1.1'
implementation 'com.google.code.gson:gson:2.8.0'
implementation 'com.nineoldandroids:library:2.4.0'
implementation 'com.google.zxing:core:3.3.0'
}
当我在手机上按照AS 3.1在手机上设置debug
版本时工作正常,但是当我尝试制作release
apk时,它向我显示错误:
Lint found fatal errors while assembling a release target.
To proceed, either fix the issues identified by lint, or modify your build
script as follows:
...
android {
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
}
我在lint-results-release-fatal.html
中看到的原因是:
我不想更改lintOptions
来抑制此错误,因为它不能解决问题,而只是将其隐藏。而且,当我使用
implementation files('libs/commons-validator-1.5.0.jar')
代替
implementation 'commons-validator:commons-validator:1.5.0'
release
apk已编译,没有任何错误消息。是某个gradle
错误还是什么!?
PS 。我已附加文件androidDependencies.txt。软件包commons-logging
根本没有出现在依赖项中!分析该文件如何获得上述问题的解决方案?
答案 0 :(得分:2)
发行版apk已编译,没有任何错误消息。是一些吗 gradle bug还是什么!?
似乎该依赖项具有与Android本身冲突的软件包。没有implementation
并手动添加它就可以工作的原因,可能是当您添加要从maven存储库下载的软件包时,它下载了所需的软件包。
无论如何,在这些情况下的解决方案可能是使用the latest version:
implementation 'commons-validator:commons-validator:1.6'
或者,将其排除如下:
implementation ('commons-validator:commons-validator:1.5.0') {
exclude group: 'commons-logging', module: 'commons-logging'
}
注意:由于错误显示,以下部分对此问题没有帮助( 此问题 ):
Commons-logging定义了现在与类冲突的类 由Android提供
您可以通过在IDE终端中运行 ./gradlew app:dependencies
来深入了解哪个与Android本身冲突,然后如上所述将其排除。