Flutter
打包发布:
https://www.bilibili.com/video/BV1ZV4y1W7Z5?p=19&spm_id_from=pageDriver&vd_source=79c2ce5a6d8005ccba7442678f514e19
- 修改app名称和图标。
添加权限(users-permission 网络INTERNET,wifi状态ACCESS_WIFI_STATE,ACCESS_NETWORK_STATE等) - 创建keystore,并保存。
命令:keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 - alias key - 应用keystore生成key.properties
在项目的android目录下创建一个key.properties文件,文件有如下信息storePassword="密码" keyPassword="密码" keyAlias=设置的别名 storeFile="生成keystore文件地址路径"
4. 配置签名,打开android/app/build.gradle文件,文件中找到
```
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
android{}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file['storeFile']
storePassword keystoreProperties['storePassword']
}
}
buildTypes{
release {
signingConfig signingConfigs.release
// 打开压缩+混淆。
minifyEnable true
useProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
- 混淆代码包。类似于前端js压缩,减小代码,并不可读代码的目的。
创建lib/android/app/proguard-rule文件,并按如下方式配置:
#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.**{*;}
- 项目根目录,运行命令,启动打包apk。
flutter build apk
iOS:
打包条件,
1.XCode,需要Mac系统。
2.需要苹果开发者账号,需要下载苹果的开发者app,然后再app上认证支付。
认证完成后,创建项目,并设置一个Bundle Id
- 打开项目路径下ios/Runner/info.plist文件,找到 CFBundleName。然后修改
<key>CFBundleName</key>
<string>微信</string>
打包步骤:
- 打开XCode,并打开Flutter中的ios目录。
- 选择Runner--Signing&Capabilities-- Bundle Identifier, 设置bundleId。
- 回到项目根目录中,运行下面命令,并执行Flutter的命令创建release版本。 flutter build ios
- XCode中配置应用程序。
Runner--TARGETS--Identity----- version,Build修改。