最近正在从零开始学习flutter,就想找个地方存放一下自己觉得有用的知识点(肯定是亲测有用的),如果刚好也能帮到你那就再好不过了。ps:我用的是Android Studio进行flutter开发的,用自己的手机真机测试。
一、修改APP的名称
注意:Android和IOS要分别进行修改,两个互不影响,你可以改成两个不一样的名字
Android:在android/app/src/main/AndroidManifest.xml中修改
ISO:在ios/Runner/Info.plist中修改
二、修改APP的图标(即Logo)
注意:同样地,Android和IOS要分别进行修改
Android:① 把你想改的图片存在android/app/src/main/res/mipmap-...文件夹下(所有的mipmap-文件夹里都要存,我一共有5个文件夹)
② 修改android/app/src/main/AndroidManifest.xml,替换成你想换的图片命名的名字
IOS:把你想改的图片存在ios/Runner/Assets.xcassets/AppIcon.appiconset文件夹下,然后修改Contents.json文件(但是我发现ios有点复杂,有很多种大小的图标,可能是为了适应不同型号?我嫌麻烦就没有重新设置ios的图标,反正自己只是部安卓机,所以这个没有亲身实践,还有待观察)
三、打开已有的flutter项目遇到的问题集锦
1. 报Dart SDK is not configured错误
在Android Studio内创建的Flutter项目运行没有问题,但是从git下载的项目打开后就提示Dart SDK is not configured错误,打开File
▸ Settings
▸ Language
& Framework
▸ Dart后发现,没有自动设置好Dart SDK Path,需要我们手动设置一下。
2.报Waiting for another flutter command to release the startup lock错误
关闭Android Studio,打开flutter的安装目录/bin/cache/,删除lockfile文件(我在删除时提醒我文件已在dart.exe中打开,可以打开任务管理器,找到所有的dart.exe后台进程,都结束掉),重启Android Studio
3.报
AndroidX incompatibilities错误
即flutter和AndroidX不兼容的问题,我找了很久解决办法,后来发现这个项目的sdk版本是27,只要把android/app/build.gradle文件里的compileSdkVersion和targetSdkVersion改成28就可以了(当然你首先得确认已经有了28的SDK版本),具体原因我也不是很清楚,你可以看一下flutter官网的完整解释https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility
四、运行flutter项目,
Resolving dependencies...很慢
打开flutter的安装目录\flutter\packages\flutter_tools\gradle\flutter.gradle,用记事本打开,把google()和jcenter()注释掉,换成阿里云仓库,参考下图:
buildscript {
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'}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
}
五、打包生成apk
我是按照这个https://blog.youkuaiyun.com/weixin_43434223/article/details/88047861一步步做的,最后也成功了,顺便说一下,apk文件生成在你的项目文件夹/build\app\outputs\apk\release\app-release.apk