0
点赞
收藏
分享

微信扫一扫

【Flutter -- 进阶】打包


【Flutter -- 进阶】打包_密钥对

文章目录

  • ​​1. 生成key​​
  • ​​2. 创建key.properties​​
  • ​​3. 更改build.gradle​​
  • ​​4.添加混淆文件​​

1. 生成key

编写完应用后,最后就是打包了,因为我是用 ​​Android studio​​​ 开发的,所以直接在 ​​Terminal​​ 输入:

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

这里记住 ​​-alias key​​ key是别名,可以自己随意更改,弹出:

输入密钥库口令:  
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: knight
您的组织单位名称是什么?
[Unknown]: knight
您的组织名称是什么?
[Unknown]: knight
您所在的城市或区域名称是什么?
[Unknown]: knight
您所在的省/市/自治区名称是什么?
[Unknown]: knight
该单位的双字母国家/地区代码是什么?
[Unknown]: C
CN=knight, OU=knight, O=knight, L=knight, ST=knight, C=C是否正确?
[否]: Y

正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 100,000 天):
CN=knight, OU=knight, O=knight, L=knight, ST=knight, C=C
[正在存储/Users/luguian/key.jks] -->生成对应的签名文件

我把它复制到​​android​​目录下。

2. 创建key.properties

在​​android​​​目录下创建一个​​key.properties​​:

【Flutter -- 进阶】打包_android_02

3. 更改build.gradle

【Flutter -- 进阶】打包_android studio_03

----->增加
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
----->
android {
compileSdkVersion 28

lintOptions {
disable 'InvalidPackage'
}

defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.flutterdemo"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
----->增加
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release

minifyEnabled true
useProguard true

// proguard文件是混淆
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
------>增加
}

4.添加混淆文件

默认情况下,Flutter不会混淆或缩小Android主机。如果您打算使用第三方Java或Android库,您可能希望减小APK的大小或保护该代码免受逆向工程,那就在在android/app/下添加proguard-rules.pro:

【Flutter -- 进阶】打包_android_04


最后在项目根目录执行:

flutter build apk

Initializing gradle...                                       0.6s
Resolving dependencies... 1.3s
Gradle task 'assembleRelease'...
Gradle task 'assembleRelease'... Done 7.2s
Built build/app/outputs/apk/release/app-release.apk (15.8MB).

最后输出在build-app-release下:

【Flutter -- 进阶】打包_android studio_05


这样就成功了。

ios怎么打包,具体请查看 ​​flutter.dev/docs/deploy…​​。



举报

相关推荐

0 条评论