一直用 iOS 模拟器和真机调试,并没有出现问题。使用了 Andorid 模拟器或生成 APK 是报了不少错误。记录以下花费比较长的问题。
问题 1
Could not determine the dependencies of task ':app:compileReleaseJavaWithJavac
复制代码
Could not determine the dependencies of task ':app:compileReleaseJavaWithJavac
复制代码
该提示下面还有一堆 Could not get.
对于 iOS 哥哥提示一句,Andorid 编译靠的是 Gradle,出现此类基本上就是 Gradle 的配置需要改动。
对于上诉问题,主要是因为 Flutter 默认的 Gradle maven 源是 qiang 外面的,所以我们需要改成国内阿里巴巴的源。由于 Flutter.io 的下载地址不稳定,我们把两个地址都添加进来。
在 工程名/android/bulid.gradle 文件中
修改
repositories {
// google()
// jcenter()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
}
复制代码
allprojects {
repositories {
// google()
// jcenter()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
maven { url 'http://download.flutter.io' }
maven { url "https://storage.googleapis.com/download.flutter.io" }
}
}
复制代码
请参考flutter环境安装踩坑
问题 2
http 请求的权限的添加。由于 Andorid9 和 iOS 某个版本之后都禁止了 http,只允许 https,但是实际情况中秒不了要用 http。两个平台需要分别进行设置。
Android解决方案参考
iOS解决方案参考
问题 3
Android 生成 APK 需要 key
Flutter-Build An Android Release Apk
问题 4
Android Studio打包时候报错:app:lintVitalRelease
额外参考
https://flutter.dev/docs/deployment/android
https://flutter.dev/docs/deployment/ios
评论