在 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 的版本。
当然,看过本文后,即便升级了,你也知道怎么处理了。