IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Flutter开发体验 -> 正文阅读

[移动开发]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

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:27:25  更:2022-09-13 11:27:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 4:23:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码