由于某个操作我使用里Java 8 的版本,但是出现以下报错:
Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target
按照在网上的搜索结果,我进入
android studio Setting->Kotlin Compiler设置了Target JVM versiono 1.8之后,还是报同样的错,
也就是提示我用的1.6 编译的项目,导致不兼容.
我注意到 在这个Kotlin Compiler 界面还提示 Fllowing modeules override project settings,我检查自己所有Model 的build.gradle 没有发现设置 jvm 为1.6的代码,最后进入到Project Structure 之后,检查了JDK location,我发现我用的JDK location 在D盘,我注意到我有很多版本jdk,并且我再JDK location 这一栏下方看到提示:
“To use the same Gradle daemon between Android Studio and the command line,select JAVA_HOME from the drop-down” ,意思是让我使用JAVA_HOME指定的jdk作为项目的jdk路径,好让Android Studio 和命令行使用同样的构建工具
我点击选框右边的三角形下拉按钮发现,只提供了两个jdk路径,一个是android studio 默认(前缀提示是Embadded JDK),一个前缀提示为"JAVA_HOME",就是环境变量里面设置的路径, 是在D 盘的,我检查我环境变量里面的JAVA_PATH 发现里面的路径的确是在D盘,所以实际使用的jdk 可能和我再build.gradle里面设置的jvm 1.8 存在冲突,因此我重新设置了JAVA_PATH 路径为一个我认为是新版本的路径,位置在C:\Program Files\Android\Android Studio\jre, 并且在Project Structure 的SDK Location里面指定了这个路径,点击"Apply"按钮重新构建之后运行恢复正常.
总结:我新设置的环境变量JAVA_HOME同样也不是Embadded JDK(也就是Android Studio指定的JDK),但是只要JDK版本和build.gradle设置的jdk 版本不冲突,就不会出现错误
Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target
最新推荐文章于 2024-06-18 09:45:13 发布