# Flutter 项目建立
# 建立项目
# 建立
# org name 与程序上架的注册的id
flutter create --org com.jingmin demo
1
2
2
如果开始无法确定 org,到发版的时候才确定怎么办。 对于新手来说,与其做修改,不如直接新建项目,把 lib 下面的文件 copy 过来,并对 android 下面的内容做相应修改,这样肯定效率更高,也不容易出错。
# 修改版本号
打开 pubspec.yaml 找到 version: 1.0.0+1。
一般来讲大部分的软件版本号 分 3 段,比如 A.B.C
- A 表示大版本号,一般当软件整体重写,或出现不向后兼容的改变时,增加A。
- B 表示功能更新,出现新功能时增加B。
- C 表示小修改,如修复bug,只要有修改就增加C
还有后面的 +1 是怎么回事? +号可以看做是分隔符。1 是累计版本,从 1 开始,只能增加,不能减小,并且,每次发版必须增加。这个版本号是给内部用的。比如苹果商店,android 平台都用这个版本号来判断软件的新旧。3 位版本号是给用户看的。3 位版本号包含软件更新的信息,让人一看就知道是重大更新,还是功能增加,还是 bug 修复。
# 设置 sdk 版本
- compileSdkVersion 告诉 gradle 用哪个 Android SDK 版本编译你的应用。compileSdkVersion 决定了你可以用哪个版本的 api。比如你的 compileSdkVersion 是 31,如果你在代码中用了 33 的 api,编译会报错。一般我们都把 compileSdkVersion 设置为最高版本。
- minSdkVersion 是应用可以运行的最低版本要求。也就是你要向下兼容哪些版本。根据 app 的用户特点,尽量设得高一些,否则很多插件不能用。
- targetSdkVersion 告诉 android 系统,app 要在哪个版本运行。android 的 api 在不同版本之间,虽然接口没有变化,但内部的行为可能发生了变化。当你指定了 targetSdkVersion 后,一定要在这个版本做完整的测试。新开项目 targetSdkVersion 应该和 compileSdkVersion 保持一致。支持新近的 API 级别有助于让您的应用利用平台的最新功能,为用户提供愉悦的体验。
compileSdkVersion 33
minSdkVersion 23
targetSdkVersion 33
1
2
3
2
3
# 图标及开机屏幕
# 图标
# 加入依赖、
mkdir -p ./assets/images
flutter pub add dev:flutter_launcher_icons
1
2
2
# 在pubspec.yaml修改配置
flutter_icons:
image_path: "images/icon1024.png"
android: true
ios: true
1
2
3
4
2
3
4
# 运行命令
flutter pub run flutter_launcher_icons:main
1
- Format: 32-bit PNG
- icon 大小必须是 1024x1024
- 确保在 40px 大小时也能清晰可见,这是 icon 最小的尺寸。
- icon 不能大于 1024KB
- icon 不能是透明的。
- 必须是正方形,不能有圆角。
# 开机屏幕 Splash Screen
# 安装
flutter pub add flutter_native_splash
1
# 在pubspec.yaml修改配置
flutter_native_splash:
color: "#42a5f5"
image: images/splash.png
1
2
3
2
3
# 执行命令
flutter pub run flutter_native_splash:create
1
# android 权限
# 生成签名
- dname 指定证书发行者信息 其中: “CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名 称,ST=州或省份名称,C=单位的两字母国家代码”
- keypass 指定别名条目的密码(私钥的密码
- storepass 指定密钥库的密码(获取keystore信息所需的密码)
keytool -genkey -keystore key.keystore -keyalg RSA \
-validity 36000 -alias jingmin -signerkeypass xxxx12345@ \
-storepass xxxx12345@ \
-dname CN=xxxx,OU=xxxx,O=xxxx,L=wuhan,ST=hubei,C=china
keytool -list -v -keystore key.keystore
1
2
3
4
5
6
2
3
4
5
6
# 网络访问的权限
<!--网络访问 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
1
2
3
2
3
如果要用 http ,但是需要在 AndroidManifest.xml 的 applictation 加如下配置android:usesCleartextTraffic="true"
# 打包
- 打包
flutter build apk --release --target-platform=android-arm64,android-arm
1 - 安装
flutter install build\app\outputs\apk\release\app-release.apk
1
← Flutter 环境配置及安装 常用包 →