Flutter使用

本文主要介绍Google的开源UI框架——Flutter的简单使用教程。

1 安装前提

2 获取 Flutter SDK

Flutter_Windows_2.0.6-stable.zip

解压后将 flutter 目录拷贝到D盘或其他路径。

3 设置环境变量

在高级系统设置中选择环境变量,在 Path 中添加Flutter SDK的路径,比如D:\flutter\bin

4 运行 flutter doctor

按照提示运行:

flutter doctor --android-licenses

按照提示一直输入 y 即可,然后再次运行:

flutter doctor

提示 No issues found! 说明环境配置正确了。

5 安装依赖包

如果工程使用了依赖包,可以运行以下命令来安装:

flutter packages get

Flutter 启动调试工具报错,可能是调试工具没有安装并激活,可以运行以下命令:

flutter pub global activate devtools

当运行flutter doctor后出现Android Studio not installed时,需要指定Android Studio的安装路径,需要运行如下命令:

flutter config --android-studio-dir "YourAndroidStudioInstallPath"

再次运行flutter doctor

6 创建工程

(1)File->New Flutter Project->Flutter App

(2)选择Flutter SDK Path。

(3)填写工程名。

(4)填写工程路径。

7 Android构建发布

(1)检查APP Manifest

<app_dir>/android/app/src/main路径下查看AndroidManifest.xml文件,验证这些值是否正确,特别是:

Application:应用名称

User-permission:使用权限,必须包含网络访问权限。

若没有加入网络权限,则在<application上添加以下内容:

<uses-permission android:name="android.permission.INTERNET" />

(2)查看构建配置

<app_dir>/android/app/路径下查看build.gradle文件,验证这些值是否正确,特别是:

defaultConfig:

applicationId:指定始终唯一的appid

versionCode & versionName:指定应用程序版本号和版本字符串

minSdkVersion & targetSdkVersion:指定最低的API运行级别以及应用程序运行的API级别。

(3)添加启动图标

<app_dir>/android/app/src/main/res/路径下,将图标文件放入使用配置限定名命名的文件夹中,默认使用mipmap文件夹演示正确的命名约定。

AndroidManifest.xml文件中,将android:icon属性更新为引用上一步中的图标,如android:icon=”mipmap/ic_launcher”

(4)APP签名

创建keystore

在命令行窗口进入<app_dir>路径,输入以下指令,根据提示输入对应信息,生成密钥结构如下所示:

keytool -genkey -v -keystore ./key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key

image-20220725133511680

引用应用程序中的keystore

<app_dir>/android/在创建一个名为key.properties的文件,其中包含对密钥库的引用:

storePassword=密钥库口令

keyPassword=key的密钥口令

keyAlias=key

storeFile=<app_dir>/key.jks

在gradle中配置签名

<app_dir>/android/app/路径下编辑build.gradle文件,

”android {“前加上如下内容:

def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

buildTypes {
release {
​ // TODO: Add your own signing config for the release build.
​ // Signing with the debug keys for now, so `flutter run --release` works.
​ signingConfig signingConfigs.debug
}}

替换为:

signingConfigs {
release {
​ keyAlias keystoreProperties['keyAlias']
​ keyPassword keystoreProperties['keyPassword']
​ storeFile file(keystoreProperties['storeFile'])
​ storePassword keystoreProperties['storePassword']
}}buildTypes {
release {
​ signingConfig signingConfigs.release
}}

(5)开启混淆

配置混淆

<app_dir>/android/app/路径下创建一个名为proguard-rules.pro的文件,并加入以下规则:

\#Flutter Wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }

开启混淆压缩

<app_dir>/app/build.gradle文件中,定位到buildTypes

release配置中将minifyEnableduseProguard设为true,并将混淆文件指向proguard-rules.pro

修改后的buildTypes如下所示:

buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

(6)构建发布版apk

进入应用程序目录

cd <app_dir>

构建apk(构建好的apk位于<app_dir>/build/app/outputs/apk/app-release.apk

flutter build apk

安装apk

flutter install

构建apk结果如下所示:

image-20220725134059854

文章作者:GentleTK
原文链接:https://gentletk.gitee.io/Flutter使用

posted @   GentleTK  阅读(239)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
点击右上角即可分享
微信分享提示