Flutter-安卓打包流程
### 一、使用终端命令生成key
```sh
keytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
```

> 将生成的 `key.jks` 文件放置到如下图位置

> 注意:这里的`key.jks`前面的`key`就是你`.jks`文件的名称 可修改的
### 二、在Android目录下创建 `key.properties`
> key.properties文件中需要输入以下内容:
```sh
storePassword=<生成keystore时设置的密码>
keyPassword=<生成keystore时设置的密码>
keyAlias=<生成keystore时的别名>
storeFile=<生成文件的key.jks的文件路径>
```

### 三、app的`build.gradle`中配置
#### 添加配置1(位置如图)
```sh
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
```

#### 添加配置2(重要,位置如图)
```sh
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
minifyEnabled false
shrinkResources false
signingConfig signingConfigs.release
}
}
```
> 注意: ` signingConfigs`必须在`buildTypes`前
> 原来是有 `buildTypes`,把以前的这个 `buildTypes`删除,替换上面的 `buildTypes`和` signingConfigs`配置

### 四、执行`flutter build apk `
```sh
flutter build apk
flutter build apk --release (推荐)
```

### Flutter 打包APP,正式上线遇到的问题
#### 1、The connection errored: Failed host lookup: 'rap2api.taobao.org' This indicates an error..... ,或访问远程图片不显示
> 是因为没有配置网络权限,在android/app/src/main/AndroidManifest.xml中manifest标签中配置一下权限(如图):
```sh
<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" />
```
