启动白屏
Flutter 应用在 Android 端上启动时会有一段很明显的白屏现象,白屏的时长由设备的性能决定,设备性能越差,白屏时间越长.
然后这个白屏是可以控制的,在Android代码中的style.xml中有这样一段代码:
1 | <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar"> |
其中的launch_background就是这个白屏的图片的,详情可查看drawable目录下的具体文件:
launch_background.xml
1 |
|
可以看得很清楚了,默认新建flutter时就是白色的启动页了,然后下面还有注释,我们可以自己添加其他的启动图,当然更换之后就好了
另外需要注意的是在AndroidManifest.xml中MainActivity节点下有如下配置:
1 | <meta-data |
这里就设置了启动flutter的main.dart之前一直显示我们设置的launch_background,
如果我们设置这个值为 false,那么在启动flutter代码之前就是黑屏了.
应用名称和LOGO
Flutter并不是设置一处名称或Logo,然后不同平台就相应生成对应的文件或代码,我们需要在对应平台的目录下修改
比如Android就在android
=>app
=>src
=>main
=>AndroidManifest.xml
中修改应用名称
1 | <application |
对应的LOGO也就是修改mipmap/ic_launcher
对应位置的图片即可
应用签名
生成或使用之前的签名文件demo.jks
1 | keytool -genkey -v -keystore demo.jks -keyalg RSA -keysize 2048 -validity 1000000 -alias demo |
把文件放在android
=>app
=>build.gradle
的同级
打开android
=>app
=>build.gradle
找到buildTypes
,同级上面添加如下配置
1 | signingConfigs { |
buildTypes
修改如下
1 | buildTypes { |
应用打包
打包命令
1 | flutter build apk |
打包成功后的文件路径
build/app/outputs/apk/release/app-release.apk
SDK location not found.
SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
这种错误的原因是Shell在执行命令的时候找不到变量,所以首先先确认自己用的Shell
打开Android Studio的配置 找到Tools
=>Terminal
设置Shell Path
比如我用的Zsh就输入
1 | /bin/zsh |
如果没配置变量就根据自己的Shell不同 按下文配置,配置过的就不用再看下文了。
查看配置是否生效
1 | echo $ANDROID_HOME |
配置属性
打开配置文件
Bash
1 | open ~/.bash_profile |
Zsh
1 | open ~/.zshrc |
添加如下配置
1 | export ANDROID_HOME=/Users/zhangjian/Library/Android/sdk |
保存后执行下面命令让配置立即生效
1 | source ~/.bash_profile |
或者
1 | source ~/.zshrc |
修改后记得重启Android Studio
xxx:verifyReleaseResources
个别依赖包下载不回来报错 xxx:verifyReleaseResources
解决方法:升级依赖的版本
打包后网络请求报错
原因: 正式版的安卓app 需要设置允许网路权限
解决:android\app\src\main\AndroidManifest.xml,manifest
和 android\app\src\profile\AndroidManifest.xml,manifest
里添加这段代码,
然后在打包就解决这问题了
1 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> |