Flutter:Hello World

294 阅读1分钟

在 Ubuntu 22.04 下搭建好 Flutter 开发环境后,终于迎来了 Hello World,当然这事也没什么可记录的,一切顺利,在 Ubuntu,Chrome 中运行都没有问题。

但是想在 Android 手机上运行时却一直卡在编译阶段。一个简单的 Hello World 跑起来应该是没有问题的,而 Android 端的编译有个前提就是下载 Gradle 和依赖,那么问题肯定出在下载上。

Gradle 下载

在 Android 下查看 gradle 版本,路径为 android/gradle/wrapper/gradle-wrapper.properties,版本为 gradle-7.6.3-all.zip

手动去 Gradle 官网下载,然后放在 ~/.gradle/wrapper/dists/gradle-7.6.3-all/xxxxxxxxxxxx/下,~/.gradle/ 是默认的,如果有修改过配置,在 studio-settings 中查看。

后面的路径 gradle-7.6.3-all/xxxxxxxxxxxx/ 需要先运行一下项目,会自动生成。

到这里,问题已经解决了,不过可以再多一步。

添加阿里云仓

修改 android/settings.gradle ,添加阿里云仓库

pluginManagement {
    def flutterSdkPath = {
        def properties = new Properties()
        file("local.properties").withInputStream { properties.load(it) }
        def flutterSdkPath = properties.getProperty("flutter.sdk")
        assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
        return flutterSdkPath
    }
    settings.ext.flutterSdkPath = flutterSdkPath()

    includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")

    repositories {
        maven {
            allowInsecureProtocol = true
            url 'https://maven.aliyun.com/repository/gradle-plugin'
        }
        gradlePluginPortal()

        maven {
            allowInsecureProtocol = true
            url 'https://maven.aliyun.com/repository/google'
        }
        google()

        maven {
            allowInsecureProtocol = true
            url 'https://maven.aliyun.com/repository/public'
        }
        mavenCentral()
    }
}

最后

Android Studio 的版本升级包含 Gradle 版本的升级,所以不要频繁升级 Studio 的版本。

当然,看过本文后,即便升级了,你也知道怎么处理了。