Flutter Android项目Paranoid Gradle插件版本适配问题求助
问题背景
在Flutter Android项目(Android Studio开发,ext.kotlin_version = '1.6.10')中,尝试安装io.michaelrocks:paranoid-gradle-plugin:0.3.2时,虽已配置JCenter仓库,仍报错:
Could not find io.michaelrocks:paranoid-gradle-plugin:0.3.2.
改用0.33版本可成功下载,但运行时出现错误:
- What went wrong:
Execution failed for task ':app:transformClassesWithParanoidForDevDebug'.kotlin.jvm.internal.MutablePropertyReference1Impl.<init>(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;I)V
同时找不到0.22版本的jre文件,需解决以下三个问题:
- 安装0.22版本插件
- 获取0.22版本的jre文件
- 修复0.33版本的运行时错误
解决方案
1. 安装0.22版本插件
0.22版本的Paranoid插件已迁移至MavenCentral,需确保buildscript和allprojects的仓库配置中包含mavenCentral(),并将依赖版本改为0.22:
buildscript { ext.kotlin_version = '1.6.10' repositories { google() mavenCentral() // 优先使用MavenCentral替代JCenter jcenter() // 保留作为 fallback } dependencies { // 其他依赖保持不变 classpath 'io.michaelrocks:paranoid-gradle-plugin:0.2.2' } } allprojects { repositories { google() mavenCentral() jcenter() } }
同步项目后,插件即可正常下载。
2. 获取0.22版本的jre文件
0.22版本的jre文件随插件核心包发布,无需单独下载。在app模块的build.gradle中添加与插件版本一致的Paranoid核心依赖即可:
dependencies { // 其他依赖保持不变 implementation 'io.michaelrocks:paranoid-core:0.2.2' }
同步项目后,Gradle会自动下载包含jre文件的核心包到本地仓库。
3. 修复0.33版本的运行时错误
0.33版本的Paranoid插件与Kotlin 1.6.10存在兼容性问题,错误源于Kotlin内部API的变更,可通过以下两种方式解决:
- 降级Kotlin版本:将
ext.kotlin_version改为1.5.31(插件0.33适配的稳定Kotlin版本),同步后重新构建项目。 - 升级插件版本:将插件升级至0.3.4或更高版本(需确认与当前Gradle、Android Gradle Plugin版本兼容),新版本已修复Kotlin 1.6+的兼容性问题。
修改后的buildscript依赖示例(升级插件版本):
buildscript { ext.kotlin_version = '1.6.10' repositories { google() mavenCentral() } dependencies { // 其他依赖保持不变 classpath 'io.michaelrocks:paranoid-gradle-plugin:0.3.4' } }
内容的提问来源于stack exchange,提问作者john doe

