简介

Flutter 学习笔记。

项目初始化

pod setup

$ sudo gem install cocoapods

$ pod setup

创建项目

flutter create my_app

Android 模拟器

1. 安装 jdk8
地址: https://www.imooc.com/article/287706
Android SDK 位置: sdk.dir = ~/Library/Android/sdk

2. 安装 Android Studio

3. 模拟器下载
Android Studio -> Tools -> AVD manager
模拟器安装位置: /Users/yunaichun/.android/avd

4. 启动模拟器
$ ~/Library/Android/sdk/emulator/emulator -list-avds
$ ~/Library/Android/sdk/emulator/emulator @Nexus_5X_API_29

5. 刷新 【在模拟器界面操作】
r

iOS 模拟器

1. 模拟器下载
xCode -> preference -> components

2. 启动模拟器
open -a Simulator
Hardware -> Device -> 不同系统 -> 选择其他iPhone

3. 刷新 【在模拟器界面操作】
R

启动项目

项目启动

# 启动 Android
$ flutter run

# 下载依赖
$ flutter pub get

# 环境配置信息
flutter doctor -v

# 查看帮助
flutter -h

flutter run 可能出错,配置以下两项

第一步: 修改掉项目下的android目录下的build.gradle文件,把 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' }

第二步: 修改Flutter SDK包下的flutter.gradle文件, 把 jcenter() 和 maven{} 去掉。改为阿里的链接。【位置在/usr/local/flutter/packages/flutter_tools/gradle/flutter.gradle】

//jcenter()
// maven {
//     url 'https://dl.google.com/dl/android/maven2'
// }
maven{
    url 'https://maven.aliyun.com/repository/jcenter'
}
maven{
    url 'http://maven.aliyun.com/nexus/content/groups/public'
}

打包 Android apk

1、启动图标

位置:
my_app/android/app/src/main/AndroidManifest.xml

内容:
android:label="flutter_app"   //配置APP的名称,支持中文
android:icon="@mipmap/ic_launcher" //APP图标的文件名称

2、生成签名证书

keytool工具位置查找: flutter doctor -v

keytool位置: cd /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/jre/bin

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

3、创建 key.properties 文件

位置: my_app/android/key.properties

内容: 
storePassword=***
keyPassword=***
keyAlias=key
storeFile=/Users/yunaichun/key.jks

4、配置 key 注册

位置: my_app/android/app/build.gradle

内容1: android{ 这一行前面,加入如下代码
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

内容2:
buildTypes {
    release {
        signingConfig signingConfigs.debug
    }
}
替换为 ->
buildTypes {
    release {
        signingConfig signingConfigs.release
    }
}
signingConfigs {
    release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile file(keystoreProperties['storeFile'])
        storePassword keystoreProperties['storePassword']
    }
}

5、添加网络权限

位置: my_app/android/app/src/main/AndroidManifest.xml

内容: 
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

6、生成 apk

命令: flutter build apk

输出: my_app/build/app/outputs/apk/release/app-release.apk

安装到模拟器: flutter install 【需要flutter run起来项目】

项目实战

项目地址: https://github.com/yunaichun/flutter_study

参考资料

powered by Gitbook该文件修订时间: 2023-05-16 18:08:03

results matching ""

    No results matching ""