- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
升级到 Gradle 4.x 后,我 get the warning
The CompileOptions.bootClasspath property has been deprecated and is scheduled to be removed in Gradle 5.0. Please use the CompileOptions.bootstrapClasspath property instead.
在我的一个项目中。我在我的 build.gradle 中没有看到任何名为 bootClasspath
或类似的东西.这个警告是什么意思?
警告仅出现在 commons 子项目中,而不出现在 core 中。
commons/build.gradle:
apply plugin: 'com.android.library'
ext {
PUBLISH_GROUP_ID = 'com.afollestad.material-dialogs'
PUBLISH_ARTIFACT_ID = 'commons'
PUBLISH_VERSION = '0.9.2.3'
BUILD_TOOLS = "26.0.3"
TARGET_SDK = 25
}
android {
compileSdkVersion TARGET_SDK
buildToolsVersion BUILD_TOOLS
defaultConfig {
minSdkVersion 16
targetSdkVersion TARGET_SDK
versionCode 1
versionName PUBLISH_VERSION
}
lintOptions {
checkReleaseBuilds false
}
}
dependencies {
implementation project(':core')
}
// Changes to this block must be applied in core/build.gradle and commons/build.gradle
task("javadoc", type: Javadoc) {
description "Generates Javadoc API documentation for the main source code."
source = android.sourceSets.main.java.srcDirs
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
classpath += files(ext.androidJar)
exclude "**/BuildConfig.java"
exclude "**/R.java"
options.links("http://docs.oracle.com/javase/7/docs/api/");
options.links("http://d.android.com/reference/");
}
核心/build.gradle:
apply plugin: 'com.android.library'
ext {
PUBLISH_GROUP_ID = 'com.afollestad.material-dialogs'
PUBLISH_ARTIFACT_ID = 'core'
PUBLISH_VERSION = '0.9.2.3'
SUPPORT_LIBRARY_VERSION = '25.4.0'
BUILD_TOOLS = "26.0.3"
TARGET_SDK = 25
}
android {
compileSdkVersion TARGET_SDK
buildToolsVersion BUILD_TOOLS
defaultConfig {
minSdkVersion 16
targetSdkVersion TARGET_SDK
versionCode 1
versionName PUBLISH_VERSION
consumerProguardFiles 'progress-proguard.txt'
}
lintOptions {
checkReleaseBuilds false
}
}
dependencies {
api "com.android.support:support-v13:$SUPPORT_LIBRARY_VERSION"
api "com.android.support:appcompat-v7:$SUPPORT_LIBRARY_VERSION"
api "com.android.support:recyclerview-v7:$SUPPORT_LIBRARY_VERSION"
api "com.android.support:support-annotations:$SUPPORT_LIBRARY_VERSION"
implementation "me.zhanghai.android.materialprogressbar:library:1.4.1"
}
// Changes to this block must be applied in core/build.gradle and commons/build.gradle
task("javadoc", type: Javadoc) {
description "Generates Javadoc API documentation for the main source code."
source = android.sourceSets.main.java.srcDirs
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
classpath += files(ext.androidJar)
exclude "**/BuildConfig.java"
exclude "**/R.java"
options.links("http://docs.oracle.com/javase/7/docs/api/");
options.links("http://d.android.com/reference/");
}
最佳答案
我的 Gradle 在 Ubuntu 上使用来自 /usr/lib/jvm/java-8-openjdk-amd64/jre
的 OpenJDK 8(通过添加 println System.getProperty("java. home")
在 build.gradle 中。不涉及 Android Studio。
我可以通过将 sourceCompatibility
和 targetCompatibility
显式设置为 1.7(默认值)来触发警告。通过将 Java 版本更改为
android {
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}
警告消失。
警告只显示一个项目的原因是它没有重复。 commons
配置在 core
之前,因为 alphanumerical ordering .当我为 commons
将 sourceCompatibility
和 targetCompatibility
设置为 1.8 时,警告会移至 core
。
将所有项目的 sourceCompatibility
和 targetCompatibility
设置为 1.8 会完全消除警告。如果这是您对项目的要求,以及为什么 Gradle 4 不能在 1.7 中无警告地使用,这是两个独立的问题。
关于android - CompileOptions.bootClasspath 属性已被弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47495066/
我是一名优秀的程序员,十分优秀!