dependencies {
classpath ‘com.android.tools.build:gradle:3.2.1’
}
6、Waiting for another flutter command to release the startup lock… 这个问题的解决
【问题分析:】你开启新的flutter进程时,后台有一个flutter进程没有关闭,导致的冲突。
【解决方案:】关闭后台dart进程,关闭IDE,然后重新打开IDE,运行项目,运行到设备试试看,基本问题不大了。 (一句话:重启基本能解决问题)
7、Flutter 运行项目 一直卡在Initializing gradle…不能动了
【问题分析:】镜像的原因导致的,国内访问不了谷歌,需要翻墙。
【解决方案:】
**方案1:**翻墙试试看。
如果不行尝试就看看方案2: 打开
项目根目录/android/
,找到build.gradle
文件,打开,首先注释掉google()
和jcenter()
,然后在下方添加一行代码maven { url 'https://maven.aliyun.com/repository/google' }
,这个是阿里云的镜像,构建速度会快一些,具体放置位置如下所示:
buildscript {
repositories {
//google()
//jcenter()
// 新增一行代码 放在这里
maven { url ‘https://maven.aliyun.com/repository/google’ }
}
dependencies {
classpath ‘com.android.tools.build:gradle:3.1.3’
}
}
allprojects {
repositories {
// 注释掉google()和jcenter()
//google()
//jcenter()
// 新增一行代码 放在这里
maven { url ‘https://maven.aliyun.com/repository/google’ }
}
}
rootProject.buildDir = ‘…/build’
subprojects {
project.buildDir = “
r
o
o
t
P
r
o
j
e
c
t
.
b
u
i
l
d
D
i
r
/
{rootProject.buildDir}/
rootProject.buildDir/{project.name}”
}
subprojects {
project.evaluationDependsOn(‘:app’)
}
task clean(type: Delete) {
delete rootProject.buildDir
}
如果还是不行的话,那就把google()
或者jcenter()
的注释取消,逐个尝试看看,那三个镜像总有一个是可以使用的。
方案3: 方案2中的国内镜像设置之后还是卡住,建议看看是不是同时开了翻墙工具。国内镜像和翻墙工具会冲突,用了国内镜像,建议关闭翻墙工具。
**方案4:(无奈之计)**最近帮朋友看了这个问题,前面几项都试过了,还是很卡,最后一看电脑配置,AMD的CPU,吐我一口老血,编程开发多年,一直是intel的CPU(因为android sdk有一个intel加速工具),intel的cpu跑项目更快,AMD的刚开始做开发用过,特别卡,放弃了,换成了intel的一直用到现在。如果是AMD的CPU,建议换成intel的CPU,当然如果你条件好,建议买个mac更好。
8、初次创建项目,一片红,怎么办?如图所示:
【原因分析】项目说需要的用到的依赖库还没有下载下来,所以爆红。
【解决方案】点击右上角的Get depencies
镜像下载相关的库。这时候可以看到下方的命令窗口显示:“running flutter packages get in xxx
”,耐心等待即可。
9、点击Get depencies
后者命令行输入flutter packages get
结果卡住了,想要的库下载不下来怎么办?
【原因有很多】:
(1)没有正确安装flutter环境,比如没有执行
flutter doctor
命令去下载dart sdk,导致一些相关的dart库爆红或者下载不下来。
解决:建议执行flutter doctor
命令去下载dart sdk
(2)没有配置国内镜像和创建相关缓存文件夹。导致下载很慢。
在C盘的Flutter缓存目录,具体为:C:\Users\Administrator\AppData\Roaming\Pub\Cache\hosted
,这里面默认是一个名为 pub.dartlang.org
的文件夹,我们现在查找看看有没有叫做 pub.flutter-io.cn
的文件夹,如果有,为了省事,建议把pub.dartlang.org
的文件夹里面的文件全部 拷贝到 pub.flutter-io.cn
文件夹里面就可以了。如果没有,就创建一个名为 pub.flutter-io.cn
的文件夹,然后再执行拷贝工作。一般来讲,配置了国内镜像的话,就会有 pub.flutter-io.cn
文件夹(不知道怎么配置的点击这里进行查看: Flutter配置安装详解)。以后如果再下载其他的库,都会缓存在pub.flutter-io.cn
文件夹里面。
10、Unable to find git in your PATH
错误如图所示:
【原因】未配置git环境变量或者配置不对。正确的应该是找到git根路径\bin
,比如你的路径是:E:\git\bin,你就把这个路径配置到环境变量中。
11、SocketException: OS Error 信号灯超时时间已到
建议:设置国内镜像,然后重启试试看。实在不行就翻墙试试看。
12、flutter不是内部或者外部命令,也不是可运行的程序或者处理文件。
【解决方案】把Flutter
添加到环境变量
。具体的请查看这里:开发工具总结(10)之Flutter从配置安装到填坑指南详解,有详细图文说明。
13、模拟器运行白屏问题
【解决方案有很多种,可以根据实际情况自由选择:】
(1)如果用的是Genymotion模拟器,或者其他的模拟器,可能原因是集成显卡驱动没装好,如果缺少某个驱动,建议下载驱动精灵或者品牌官网驱动安装,然后再运行模拟器试试看。
(2)如果用的是Genymotion模拟器,可能是virtualbox的版本与genymotion版本不兼容引起的。建议下载自带virtualbox的genymotion版本再试试看。
(3)打开模拟器设置界面,run->Edit Configurations 里面添加
--enable-software-rendering
再次运行就OK了。
(4)建议新建模拟器时,
不要勾选硬件加速
,这个一般用不上,硬件加速巨坑,与某些东西不兼容。可以在AS右上角找到Android模拟器管理,找到对应的模拟器,看看你的模拟器设置里面是否有硬件加速,如果有,就换成其它的。
(5)使用原生平台的冷启动方案。Flutter已经提供了冷启动方案,下面是一个最简单的示例:
【注意】:有些人编辑android
里面的xml文件的时候,会发现部分是红色的,其实你可以点击菜单open
,然后选择你项目里面的android
目录,然后在弹出的窗口选择open in new window
,表示新开一个窗口,这样去编写代码,不会出错。
完整示例代码请查看:github.com/AweiLoveAndroid/Flutter-learning/tree/master/projects/flutter_white_screen
drawable目录有一个launch_background.xml
文件,我们打开之后可以看到一个注释,意思是说:这里面的内容可以换成你的App logo或者其它内容,我们可以做一个修改,内容如下:
最后一步是修改styles.xml
文件,添加两个配置item选项,示例如下:
具体的文件目录位置如下图:
最终示意图如下所示:
14、安装项目到模拟器或者手机时,Gradle task assemableDebug executing
之后log停止并自动退出安装,然后应用安装不到模拟器或手机上。
问题如图所示:
【原因】:Flutter版本太低了。 【解决方案】使用flutter upgrade
更新Flutter。
15、git clone下载Flutter源码仓库,出现error: RPC failed; curl 18 transfer closed with outstanding read data remaining
【原因】
由于Http协议错误,当Clone的时候,因为curl的postBuffer默认值太小的原因,而项目可能本身比较大,所以下载失败。
【解决方案:】
打开git命令行 输入 git config –global http.postBuffer 524288000
,然后可以输入git config –list
查看刚才的设置是否生效。
说明: git config –global http.postBuffer 524288000
命令的意思:相当于把curl的postBuffer的值修改的大一些。524288000的单位是B,相当于500MB。
16、执行flutter命令的时候,360杀毒软件弹窗提示有病毒。
【解决方案:】
点击右下角 信任此文件
即可。建议执行flutter工程的时候,暂时关闭杀毒软件
,如图所示。 有时候升级flutter的时候也会爆出这样的问题,建议关闭杀毒软件。
17、执行flutter install命令安装apk到模拟器的时候报错,报错提示是:
【原因】由于使用了native libraries
。该native libraries
不支持当前的cpu的体系结构。我当前用的是x86的模拟器。
【解决方案】打开项目根目录/android/app/build.gradle,在android节点里面添加以下内容:
splits{
abi {
enable true
reset()
include ‘x86’, ‘armeabi-v7a’,‘x86_64’
universalApk true
}
}
具体的请看下图所示:
如果以上操作还不行就换一个arm的模拟器或者真机运行。如下图就是运行在arm模拟器上的示范操作:
18、执行flutter upgrade命令过程中出现的问题。
【解决方案】重启命令行,重新执行flutter upgrade命令,它会自动下载sdk需要的各种工具,这说明环境是没问题的,配置也是没问题的,网络也是OK的。如下图所示:
19、编译项目的过程中出现的版本兼容问题,如图所示。
【解决方案有以下几种方式】
只要看到错误信息含有which doesn't match any version
这样的提示基本都可以使用以下解决方案:
-
- Flutter插件版本太老,更新一下Flutter版本,再试试看。
-
2. 在项目的根路径的
pubspec.lock
文件和pubspec.yaml
文件里面搜索,确保pubspec.lock
文件的引入的第三方插件库的版本号
和pubspec.yaml
文件里的版本号一致
。 -
- 项目里面引入的第三方插件库版本和开发环境不匹配导致的兼容问题。建议把第三方插件库的源码下载下来,放到项目里面去,然后去
修改插件库源码里依赖的Flutter和Dart版本配置信息
即可。使用源码是最好的解决方式。
- 项目里面引入的第三方插件库版本和开发环境不匹配导致的兼容问题。建议把第三方插件库的源码下载下来,放到项目里面去,然后去
-
- 在C盘的Flutter缓存目录,具体为:
C:\Users\Administrator\AppData\Roaming\Pub\Cache\hosted
,这里面默认是一个名为pub.dartlang.org
的文件夹,我们现在查找看看有没有叫做pub.flutter-io.cn
的文件夹,如果有,为了省事,建议把pub.dartlang.org的文件夹里面的文件全部 拷贝 到pub.flutter-io.cn文件夹里面就可以了。如果没有,就创建
一个名为pub.flutter-io.cn
的文件夹,然后再执行拷贝工作。(一般来讲,配置了国内镜像的话,就会有pub.flutter-io.cn
文件夹)。
- 在C盘的Flutter缓存目录,具体为:
然后检查一下文件夹里面有没有我们报错的那个包,如果有,请删除,然后再去点击 pub get
下载更新一下。如图所示:
20、flutter upgrade因为版本兼容问题导致升级失败。
【解决方案】这里面是因为 flutter_tools 包的兼容性问题
导致的,可能是sdk版本兼容性问题,我们可以执行 flutter upgrade
升级一下Flutter再试试看,如果不行,就按上一条的去做。
21、Unsupported Android Studio version,意思是:Flutter插件不支持当前AS版本。
【原因】
当前的AS是3.2的版本。Flutter插件对AS3.2暂时还不兼容(此问题是我在第一次创建flutter的时候出现的,时间是2018年5月份,不过现在flutter插件已经兼容AS3.2了,现在貌似没有出现这个问题了。)。
以后如果还有更新的AS版本出来,只要Flutter插件没有及时更新的话,可能还会有版本兼容的提示信息。
【解决方案】
使用3.0或者3.1版本的AS开发就OK了。
22、执行flutter upgrade命令更新Flutter时,出现SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054
【解决方案】
打开git命令行输入 ·git config –global http.postBuffer524288000·,然后可以输入 ·git config –list· 查看刚才的设置是否生效。
23、使用flutter doctor命令出现的错误,这类错误可能有多种形式,它们都有一个共同的关键字 StartBitsTransferCOMException
我遇到的几个不同的错误示例图如下:
【解决方案】 原因有2个:
(1)BITS传输服务未开启:
计算机 --> 右键 管理
--> 服务和应用程序里面
,点击服务
,然后如下图所示:
然后选中图中标记的这个,右键点击属性
,然后改成自动,确定。如下图所示:
(2)没有设置国内镜像:
如果你在国内使用 Flutter,那么你可能需要找一个与官方同步的可信的镜像站点,帮助你的 Flutter 命令行工具到该镜像站点下载其所需的资源。你需要为此设置两个环境变量:PUB_HOSTED_URL和FLUTTER_STORAGE_BASE_URL
,然后再运行 Flutter 命令行工具。
需要添加国内镜像到环境变量中。具体如下:
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cnPUB_HOSTED_URL: https://pub.flutter-io.cn
如下图所示:如果还出现下载错误 建议重启电脑再试试看。
24、update_dart_sdk.ps1文件里面出错,有多种错误表现形式,如下面3个图所示。
我们可以看到这几种错误的共同之处:都有 BitsTransformer
或者 CategoryInfo
之类的字眼。
报的错误会有各种各样,但是只要有以上提到的两种字眼的解决方式如下:
【解决方案】
建议 删除Flutter根路径/bin/cache文件夹
,然后重新执行 flutter doctor
命令。
我电脑的Flutter根路径/bin/cache文件夹所在位置如下图所示:
25、 could not resolve all files for configuration ‘classpath’ could not find ling-gradle-api.jar
【解决方案:修改flutter安装目录里面的flutter.gradle全局配置
26、Please review your Gradle project setup in the android/ folder
27、android/app.gradle 里面的语法错误导致的编译失败
project evaluation failed including an error in afterEvaluate{}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
建议
当我们出去找工作,或者准备找工作的时候,我们一定要想,我面试的目标是什么,我自己的技术栈有哪些,近期能掌握的有哪些,我的哪些短板 ,列出来,有计划的去完成,别看前两天掘金一些大佬在驳来驳去 ,他们的观点是他们的,不要因为他们的观点,膨胀了自己,影响自己的学习节奏。基础很大程度决定你自己技术层次的厚度,你再熟练框架也好,也会比你便宜的,性价比高的替代,很现实的问题但也要有危机意识,当我们年级大了,有哪些亮点,与比我们经历更旺盛的年轻小工程师,竞争。
-
无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!!!!!!!!
-
准备想说怎么样写简历,想象算了,我觉得,技术就是你最好的简历
-
我希望每一个努力生活的it工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。
-
有什么问题想交流,欢迎给我私信,欢迎评论
【附】相关架构及资料
内含往期Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
想象算了,我觉得,技术就是你最好的简历
-
我希望每一个努力生活的it工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。
-
有什么问题想交流,欢迎给我私信,欢迎评论
【附】相关架构及资料
[外链图片转存中…(img-hsGWK04C-1712512776116)]
[外链图片转存中…(img-49hTdXlE-1712512776117)]
内含往期Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!