Flutter 打包安卓应用 APK


添加启动图标

  • 使用ps制作图标,像素为1024x1024
  • 使用图标工厂,生成各个分辨率适配的图标
  • 将解压的图标复制到 /android/app/src/main/res/ 目录下

App签名

  • 运行命令生成密钥
keytool -genkey -v -keystore C:\Users\USER_NAME\upload-keystore.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias upload
  • 创建 [project]/android/key.properties 文件
storePassword=<上一步骤中的密码>
keyPassword=<上一步骤中的密码>
keyAlias=upload
storeFile=C:\Users\USER_NAME\upload-keystore.jks
  • 修改 [project]/android/app/build.gradle 文件,在 android 代码块之前新增内容
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
	keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
	...
}
  •  替换 buildTypes 代码块
signingConfigs {
	release {
		keyAlias keystoreProperties['keyAlias']
		keyPassword keystoreProperties['keyPassword']
		storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
		storePassword keystoreProperties['storePassword']
	}
}
buildTypes {
	release {
		signingConfig signingConfigs.release
	}
}

 检查 app manifest 文件

修改/android/app/src/main/AndroidManifest.xml 文件

  • 修改应用名称
android:label="应用名称"
  •  添加网络访问权限

检查构建配置

修改 /android/app/build.gradle 文件

defaultConfig {
  applicationId "" // 唯一的appid
}

修改版本号

修改 pubspec.yaml 文件

version: 0.0.4+4

其中,+ 前面是显示版本号,后面是内部版本号

在打包时,会自动根据该值更新 android/local.properties 文件中对应的值

构建APK

运行命令

flutter build apk --split-per-abi

会在 build/app/outputs/flutter-apk 下生成apk文件

通常使用其中的app.apk作为安装文件

安装

在手机连接到电脑的情况下,运行命令 flutter install 可以将构建出来的APK安装的手机上。

APP