
第1部:-
在获得这个版本的Android之后,我可以在我的项目中使用JDK17。一切都很好,没有构建失败,没有运行时错误,等等(就像增强开关正常工作一样) ....but --这个警告在每个构建过程中不断出现。有什么方法可以让抑制吗?

(警告文本-> “一个或多个类的文件版本>= 56不受官方支持”)
这些是build.gradle文件:
(1):
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.0-rc01'
classpath 'com.google.android.gms:strict-version-matcher-plugin:1.2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}(2):
apply plugin: 'com.android.application'
apply plugin: 'com.google.android.gms.strict-version-matcher-plugin'
android {
compileSdkVersion 32
buildToolsVersion '32.0.0'
defaultConfig {
applicationId "com.Sujal_Industries.SelfEmot"
minSdkVersion 21
targetSdkVersion 32
versionCode 11
versionName "1.3.1"
}
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'androidx.recyclerview:recyclerview:1.3.0-alpha01'
implementation 'androidx.core:core-splashscreen:1.0.0-beta01'
implementation 'com.google.mlkit:image-labeling:17.0.6'
implementation 'com.google.android.material:material:1.6.0-alpha01'
implementation 'com.github.bumptech.glide:glide:4.12.0'
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
implementation 'io.reactivex.rxjava3:rxjava:3.1.3'
}(我试着寻找类似的警告,但没有运气)
第2部:-
最近,我发现Android现在显示了创建一个新的记录的选项。

但是,当我创建一个项目并构建该项目时,会弹出以下错误:

所以..。有没有办法在包中强制添加类?
(如果对此需要更多的资料/澄清,请告诉我)
编辑:我知道11以上的版本不是官方支持的,但没有解决办法吗?
发布于 2022-01-25 09:36:08
For Part 1:警告意味着您的项目中有一个或多个类,这些类不支持高于11个的Java。
有些依赖项不是为JDK 17编译的,这是因为Android目前不支持Java 17,这意味着您混淆了产生此警告的不同版本的Java Bitcode。
用于第二部分:您正在尝试使用一个记录,这是目前在Android中不支持的。
摘要:您已经将项目的Java设置为Java17,目前不支持该版本:
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}目前可以达到的最高值是Java 11,这意味着您必须将compileOptions更改为:
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}发布于 2022-01-31 15:25:06
Android支持的java字节码的最新版本是Java 7。
Android支持一些后期的java特性-- https://developer.android.com/studio/write/java8-support。
这些特点是“语法糖”-当轻量和短代码结构取代复杂的结构,以提高可读性。这些特性不需要JVM中的重大更改,可以重新编译到java字节码的早期版本中。
"Desugaring“是指在可能的情况下将java 8(或更高版本)的源代码编译为java 7的字节码。
大多数Java8+特性不受支持
如果您想以现代的方式为Android编写代码,就必须切换到Kotlin。
https://stackoverflow.com/questions/70784107
复制相似问题