You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加android_alarm_manager_plus后Flutter项目构建报错求助

Android构建报错:D8 NullPointerException 处理方案

问题描述

创建空Flutter项目并添加android_alarm_manager_plus依赖后,构建时出现以下报错:

注意: C:\Users\ALEX\AppData\Local\Pub\Cache\hosted\pub.dev\android_alarm_manager_plus-4.0.4\android\src\main\java\dev\fluttercommunity\plus\androidalarmmanager\AlarmService.java 使用或覆盖了已过时的API。
注意: 请使用 -Xlint:deprecation 重新编译以获取详细信息。
错误:C:\Users\ALEX\.gradle\caches\transforms-3\c1a2b6b5561495bcbfc5c4cf26e6c722\transformed\jetified-appcompat-resources-1.7.0-runtime.jar: D8: java.lang.NullPointerException
错误:C:\Users\ALEX\.gradle\caches\transforms-3\db2a3820c5429822d426817c25731a6c\transformed\appcompat-1.7.0-runtime.jar: D8: java.lang.NullPointerException

构建失败,出现异常。

* 出错原因:
任务 ':app:mergeExtDexDebug' 执行失败。
> 无法为配置 ':app:debugRuntimeClasspath' 解析所有文件。
   > 无法转换 appcompat-resources-1.7.0.aar (androidx.appcompat:appcompat-resources:1.7.0) 以匹配属性 {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=24, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}。
      > DexingNoClasspathTransform 执行失败: C:\Users\ALEX\.gradle\caches\transforms-3\c1a2b6b5561495bcbfc5c4cf26e6c722\transformed\jetified-appcompat-resources-1.7.0-runtime.jar。
         > 转换dex文件时出错。
   > 无法转换 appcompat-1.7.0.aar (androidx.appcompat:appcompat:1.7.0) 以匹配属性 {artifactType=android-dex, asm-transformed-variant=NONE, dexing-enable-desugaring=true, dexing-enable-jacoco-instrumentation=false, dexing-is-debuggable=true, dexing-min-sdk=24, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.libraryelements=aar, org.gradle.status=release, org.gradle.usage=java-runtime}。
      > DexingNoClasspathTransform 执行失败: C:\Users\ALEX\.gradle\caches\transforms-3\db2a3820c5429822d426817c25731a6c\transformed\appcompat-1.7.0-runtime.jar。
         > 转换dex文件时出错。

* 尝试解决:
> 使用 --stacktrace 选项获取堆栈跟踪。
> 使用 --info 或 --debug 选项获取更多日志输出。
> 使用 --scan 选项获取完整分析信息。

* 获取更多帮助请访问 https://help.gradle.org

解决方案

1. 清理Gradle缓存

  • 找到路径 C:\Users\ALEX\.gradle\caches
  • 删除transforms-3文件夹,或直接删除整个caches目录
  • 重新执行 flutter run 或 Android Studio中的构建命令

2. 降级依赖版本

在pubspec.yaml中修改android_alarm_manager_plus的版本为更稳定的旧版本:

dependencies:
  flutter:
    sdk: flutter
  android_alarm_manager_plus: ^3.0.1

执行flutter pub get更新依赖后重新构建。

3. 升级Gradle与构建工具版本

打开android/build.gradle文件,更新以下配置:

buildscript {
    ext.kotlin_version = '1.8.0'
    repositories {
        google()
        mavenCentral()
    }

    dependencies {
        // 升级到最新稳定版,例如7.4.2
        classpath 'com.android.tools.build:gradle:7.4.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

同时修改gradle/wrapper/gradle-wrapper.properties中的Gradle版本:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip

同步Gradle配置后重新构建。

4. 启用核心库脱糖

在android/app/build.gradle的android块中添加脱糖配置:

android {
    // 其他配置...
    compileOptions {
        coreLibraryDesugaringEnabled true
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    // 其他依赖...
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
}

同步配置后重新构建项目。

内容的提问来源于stack exchange,提问作者AVEbrahimi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 09:38:16