admin 管理员组

文章数量: 887006

Flutter插件android模块中的报红问题解决

1,在开发Flutter插件时,打开插件的android项目,准备编写native端的代码时,发现各种报红,代码无法跳转,体验十分不好。就像我下面的截图一样:

2,通过度娘了解到是因为android项目中没有依赖Flutter库。知道问题了,现在只需要把依赖给加上就行了,由于每个开发电脑中flutter的sdk位置不一定相同,所以我们想到了利用local.properties中的flutter.sdk路径来加载。

我们在android/build.gradle文件中,编写读取flutter.sdk的代码,最后使用compileOnly files依赖本地的flutter库。

//获取local.properties配置文件
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {localPropertiesFile.withReader('UTF-8') { reader ->localProperties.load(reader)}
}
//获取flutter的sdk路径
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}dependencies {implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"compileOnly files("$flutterRoot/bin/cache/artifacts/engine/android-arm/flutter.jar")compileOnly 'androidx.annotation:annotation:1.1.0'
}

同步更新一下,这时候就一切正常了,代码不红了,代码也可以跳转了。
看一下External Libraries,下面就是我们已经添加的依赖

注意:好多小伙伴反应不生效哈,flutter.jar包的路径是博主自己电脑的中的路径,你要换成自己的路径哦

本文标签: Flutter插件android模块中的报红问题解决