检查 App Manifest
查看默认应用程序清单文件(位于
application: 编辑 application 标签, 这是应用的名称。
uses-permission: 如果您的应用程序代码不需要Internet访问,请删除android.permission.INTERNET权限。标准模板包含此标记是为了启用Flutter工具和正在运行的应用程序之间的通信。
查看构建配置
查看默认[Gradle 构建文件][gradlebuild]”build.gradle”,它位于
defaultConfig:applicationId: 指定始终唯一的 (Application Id) appid versionCode & versionName: 指定应用程序版本号和版本号字符串。有关详细信息,请参考版本文档minSdkVersion & targetSdkVersion: 指定最低的API级别以及应用程序设计运行的API级别。有关详细信息,请参阅版本文档中的API级别部分。
添加启动图标
当一个新的Flutter应用程序被创建时,它有一个默认的启动器图标。要自定义此图标:
查看Android启动图标 设计指南,然后创建图标。
在
在AndroidManifest.xml中,将application标记的android:icon属性更新为引用上一步中的图标(例如 要验证图标是否已被替换,请运行您的应用程序并检查应用图标 app签名 创建 keystore 如果您有现有keystore,请跳至下一步。如果没有,请通过在运行以下命令来创建一个: keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key 注意:保持文件私密; 不要将它加入到公共源代码控制中。 注意: keytool可能不在你的系统路径中。它是Java JDK的一部分,它是作为Android Studio的一部分安装的。有关具体路径,请百度。 引用应用程序中的keystore 创建一个名为 storePassword= keyPassword= keyAlias=key storeFile= 注意: 保持文件私密; 不要将它加入公共源代码控制中 在gradle中配置签名 通过编辑 替换: android { 为: def keystorePropertiesFile = rootProject.file("key.properties") def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android { 替换: 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 } } 现在,您的应用的release版本将自动进行签名。 开启混淆 默认情况下 flutter 不会开启 Android 的混淆。 如果使用了第三方 Java 或 Android 库,也许你想减小 apk 文件的大小或者防止代码被逆向破解。 配置混淆 创建 /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.** { *; } 上述配置只混淆了 Flutter 引擎库,任何其他库(比如 Firebase)需要添加与之对应的规则。 开启混淆/压缩 打开 /android/app/build.gradle 文件,定位到 buildTypes 块。 在 release 配置中将 minifyEnabled 和 useProguard 设为 true,再将混淆文件指向上一步创建的文件。 android { ... buildTypes { release { signingConfig signingConfigs.release minifyEnabled true useProguard true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } 构建一个发布版(release)APK 本节介绍如何构建发布版(release)APK。如果您完成了前一节中的签名步骤,则会对APK进行签名。 使用命令行: cd 运行flutter build apk (flutter build 默认会包含 --release选项). 打包好的发布APK位于 在设备上安装发行版APK 按照以下步骤在已连接的Android设备上安装上一步中构建的APK 使用命令行: 用USB您的Android设备连接到您的电脑 cd 运行 flutter install . 将APK发布到Google Play商店 将应用的release版发布到Google Play商店的详细说明,请参阅 Google Play publishing documentation. (国内不存在的,但你可以发布到国内的各种应用商店)