美文网首页
Android studio 使用Java 8 后还是报错Inv

Android studio 使用Java 8 后还是报错Inv

作者: Yellow158 | 来源:发表于2019-12-10 10:31 被阅读0次

    如果 Android Studio 检测到您的项目正在使用 Jack、Retrolambda或 DexGuard,IDE 会使用由这些工具提供的 Java 8 支持。不过,与默认工具链相比,这些工具缺少部分功能和支持(例如:Retrolambda 缺少对使用 Java 8 语言功能的第三方库的支持)。因此,请按照本部分的说明迁移到 Android Studio 的默认工具链。

    从 Retrolambda 迁移

    与 Android Studio 的默认工具链相比,Retrolambda 缺少对使用 Java 8 语言功能的第三方库的支持。要迁移到默认工具链,请从项目级 build.gradle 文件中移除 Retrolambda 依赖项:

    buildscript {
          ...
           dependencies {
              // Remove the following dependency.
              classpath 'me.tatarka:gradle-retrolambda:<version_number>'
           }
        }
        
    

    此外,还应从每个模块的 build.gradle 文件中移除 Retrolambda 插件和 retrolambda 代码块:

    // Remove the following plugin.
        apply plugin: 'me.tatarka.retrolambda'
        ...
        // Remove this block after migrating useful configurations.
        retrolambda {
            ...
            // If you have arguments for the Java VM you want to keep,
            // move them to your project's gradle.properties file.
            jvmArgs '-Xmx2048m'
        }
        
    

    从 Jack 迁移

    根据此公告Jack 工具链已被弃用。如果您的项目依赖于 Jack,您应执行迁移,以便使用 Android Studio 的默认工具链内置的 Java 8 支持。使用默认工具链还支持使用 Java 8 语言功能的第三方库以及依赖于 .class 中间文件的工具。

    要停用 Jack 而改用默认工具链,只需从模块的 build.gradle 文件中移除 jackOptions 代码块即可:

    android {
            ...
            defaultConfig {
                ...
                // Remove this block.
                jackOptions {
                    enabled true
                    ...
                }
            }
    
            // Keep the following configuration in order to target Java 8.
            compileOptions {
                sourceCompatibility JavaVersion.VERSION_1_8
                targetCompatibility JavaVersion.VERSION_1_8
            }
            // For Kotlin projects
            kotlinOptions {
                jvmTarget = "1.8"
            }
        }
        
    

    参考官方文档:https://developer.android.com/studio/write/java8-support#migrate

    相关文章

      网友评论

          本文标题:Android studio 使用Java 8 后还是报错Inv

          本文链接:https://www.haomeiwen.com/subject/xrbwgctx.html