原因

报错信息:

> Task :video_player:compileDebugJavaWithJavac FAILED
C:\Users\Android\.gradle\caches\transforms-2\files-2.1\fb1ca74aa4c8fc7e94695009d2ccaab0\jetified-exoplayer-common-2.12.1-api.jar(com/google/android/exoplayer2/util/Util.
class): 警告: 无法找到类型 'EnsuresNonNull' 的注释方法 'value()': 找不到org.checkerframework.checker.nullness.qual.EnsuresNonNull的类文件
C:\Users\Android\.gradle\caches\transforms-2\files-2.1\fb1ca74aa4c8fc7e94695009d2ccaab0\jetified-exoplayer-common-2.12.1-api.jar(com/google/android/exoplayer2/util/Util.
class): 警告: 无法找到类型 'EnsuresNonNull' 的注释方法 'value()'
错误: 发现警告, 但指定了 -Werror
1 个错误
2 个警告

问题是这样的,这段时间在搞 Flutter,集成到原生项目中编译正常,但是一打包就失败,Flutter模块单独打包也没问题,问题定位到是 Flutter模块中引用了一个 video_player的第三方包,这个包中的代码有用到 @EnsuresNonNull 的注解,网上找了好多资料,各种办法都试过了,什么修改Kotlin版本、Gradle版本、升级Gradle插件、Gradle JDK版本、AndroidStudio版本都换了问题依旧,在无计可施的情况下我觉得是我的 java环境有问题,随后验证了我的猜想。

解决

解决起来就简单了,之前用到的java环境安装的是 jdk-8u40 这个版本,随后更换到 jdk-8u301 这个版本,重新编译打包,问题解决。

如果觉得我的文章对你有用,请随意赞赏