如何解决flutter项目编译Debug Kotlin报错

Posted

技术标签:

【中文标题】如何解决flutter项目编译Debug Kotlin报错【英文标题】:How to solve flutter project compile Debug Kotlin error 【发布时间】:2021-08-26 18:53:36 【问题描述】:

我是 Flutter 开发的新手。我在一个项目中使用了 audioplayers: ^0.19.0 包,但是当项目在模拟器上运行时,它会弹出很大的错误消息。你们能帮我解决这个问题吗?我不知道是我的代码错误还是包问题。

任务 ':audioplayers:compileDebugKotlin' 执行失败。

编译错误。查看日志了解更多详情

import 'package:flutter/material.dart';
import 'package:audioplayers/audioplayers.dart';

void main() 
  runApp(MyApp());


class MyApp extends StatefulWidget 
  const MyApp(Key? key) : super(key: key);

  @override
  _MyAppState createState() => _MyAppState();


class _MyAppState extends State<MyApp> 
 

  @override
  Widget build(BuildContext context) 
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Simple Music'),
          backgroundColor: Colors.amber[300],
        ),
        body: SafeArea(
          child: Center(
            child: TextButton(
              child: Text("music"),
              onPressed: () 
                final player = AudioCache();
                player.play("note2.wav");
              ,
            ),
          ),
        ),
      ),
    );
  

调试控制台

Launching lib\main.dart on AOSP on IA Emulator in debug mode...
e: Incompatible classes were found in dependencies. Remove them from the classpath or use '-Xskip-metadata-version-check' to suppress errors
e: C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/META-INF/kotlin-stdlib.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
e: C:/Users/acer/.gradle/caches/transforms-2/files-2.1/4d4ccf1034ba5937e6e7ba3aa34d2661/jetified-core-ktx-1.6.0-beta02-api.jar!/META-INF/core-ktx_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
e: C:/Users/acer/.gradle/caches/transforms-2/files-2.1/77bab1911042ab2c6d5cc0b2e2ee053c/jetified-kotlin-stdlib-common-1.5.10.jar!/META-INF/kotlin-stdlib-common.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\AudioplayersPlugin.kt: (18, 32): Unresolved reference: mutableMapOf
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\AudioplayersPlugin.kt: (25, 9): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\AudioplayersPlugin.kt: (26, 9): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\AudioplayersPlugin.kt: (27, 9): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\AudioplayersPlugin.kt: (28, 17): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class

e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (127, 13): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (129, 9): Unresolved reference: synchronized

e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (130, 18): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (131, 59): Unresolved reference: mutableListOf

e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (136, 17): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (137, 17): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.

The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (143, 17): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class

e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (144, 17): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (154, 14): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.

The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (156, 23): Unresolved reference: let
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (156, 39): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.

The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (156, 49): Unresolved reference: it
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (161, 14): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.

The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (163, 23): Unresolved reference: let

e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (163, 39): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class
e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (163, 47): Unresolved reference: it


e: C:\Flutter\Flutter\Flutter_sdk\.pub-cache\hosted\pub.dartlang.org\audioplayers-0.19.0\android\src\main\kotlin\xyz\luan\audioplayers\WrappedSoundPool.kt: (235, 30): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
The class is loaded from C:/Users/acer/.gradle/caches/transforms-2/files-2.1/24fa3aa8d2270e5eb067bbe36e9b7563/jetified-kotlin-stdlib-1.5.10.jar!/kotlin/Unit.class

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':audioplayers:compileDebugKotlin'.
> Compilation error. See log for more details

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 50s

Exception: Gradle task assembleDebug failed with exit code 1
Exited (sigterm)

【问题讨论】:

【参考方案1】:

尝试更改 build.gradle 文件(位于项目的 android 文件夹中)中的 ext.kotlin_version 值,如下所示:

buildscript 
    ext.kotlin_version = '1.5.10'
    
    repositories 
        google()
        jcenter()
    

    dependencies
        ...
    

【讨论】:

谢谢你,这个作品。 不客气。请@IsuruAkalanka,将我的答案标记为正确答案。谢谢

以上是关于如何解决flutter项目编译Debug Kotlin报错的主要内容,如果未能解决你的问题,请参考以下文章

Flutter iOS混编 解决flutter在iOS14+ debug模式上无法运行的问题

深入理解flutter的编译原理与优化

Flutter在Debug和Release下分别使用啥编译模式,有啥区别?

flutte学习-编译模式

flutte学习-编译模式

通过 VSCode 运行 Flutter 项目时找不到名为“web-server-debug-protocol”的选项