Flutter 工程编译时几个小问题的解决

听闻 Flutter 最新的版本已经将 Windows 纳为其官方正式支持的目标平台,找了个例子项目来编译一下看一眼。

Flutter 的版本是 2.10.2 稳定版。编译时报了一个错,形如 Error: Member not found: ’packageRoot’ 这样。找的解决办法在这儿,按照其中所述的方法一,执行 flutter pub upgrade 后就好了。纳闷的是,我明明新装的 flutter 怎么还需要升级缓存。

编译之后的运行环节也出了一个问题,Can't load AOT data from C:\Examples\flutter_windows_11\build\windows\runner\Debug\data\app.so; no such file.。解决方案在这儿,见 irufano 的回复。看上去像是构建过程的一个小 bug。

然后,想编译出 Android 版本来对比一下观感上的异同,又出了几个问题。第一个是说 build.gradle 里指定的 1.3.50 版本的 kotlin 编译器下载不成功,用梯子解决后又说 One or more plugins require a higher Android SDK version.,逼得我把工程的 compileSdkVersion30 提升到了 31;再然后又是这样的错误信息,/.gradle/caches/transforms-3/02690cd4e51ccc293ebc0625df834aff/transformed/jetified-kotlinx-coroutines-core-jvm-1.5.2.jar!/M
ETA-INF/kotlinx-coroutines-core.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.
,好在控制台输出信息中有解决方案如下,

照此将 kotlin 的版本号从 1.3.50 升级到了 1.6.10(同时还把 gradle build tools 的版本从 4.1.0 升级到了我本地已经使用过的较新版本 7.0.4 上,以及相应地把 gradle-wrapper.properties 文件中 gradle 的版本从 6.7 也改为了本地已经有缓存的 7.0.2),然后出问题的画风就恢复成 Could not get resource
'https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-compiler-embeddable/1.6.10/kotlin-compiler-embeddable-1.6.10.jar'
,而且不知何故,这次连梯子也救不了,只好手动下载后,放到了用户目录下的相应位置($USER_HOME\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddable\1.6.10\acf7f6fbb7ee87f4653cc6a3bc868670e1a9c541)。

此番过后,总算顺利通过,在测试机上运行成功。实属不易。

发表回复

您的电子邮箱地址不会被公开。