Mac天然支持下载Xcode和AndroidStudio,这点对于开发非常友好,Windows打ipa请先配置好环境。(我电脑同时下载了Xcode、AndroidStudio、VSCode,平时基本在更加轻量级的VSCode上开发)
一.如何打 apk 包(打包流程略微复杂)
1.检查 & 安装 JDK(全称:Java Development Kit),首先在mac下打开系统偏好设置,看有没有Java图标,(或者检查当前 JDK 的版本号 java -version,
如果已经显示当前 java version 版本号,说明 JDK 安装成功,或者之前就安装过,如果已经安装,可以忽略下面的安装步骤) 下载安装地址 :
1.1推荐方式一安装https://www.java.com/zh-CN/download/
1.2 可以选择终端安装 brew cask install oracle-jdk,显示 brew cask install oracle-jdk 即是安装成功。 因为我需要更新 Homebrew,所以使用官网下载安装的方式
macOS Installer
vim .bash_profile
,增加 export JAVA_HOME=$(/usr/libexec/java_home)
esc -> wq
source .bash_profile
更新配置文件并生效2.生成签名证书 .jks
创建keystore
如果你之前已经创建过keystore的话,可以跳过此步骤。如果没有,请打开终端运行以下命令来创建一个:
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
2.1 现在安卓的keystore(Eclipse下的产物),现在已经升级成jks需要执行以下命令:
-alias 后需要替换为自己的别名(一般是项目名)
keytool -importkeystore -srckeystore /Users/用户名/key.jks -destkeystore /Users/用户名/key.jks -deststoretype pkcs12
genkey : 产生密钥
<存放的路径>/sign.jks :证书的存放路径和名字
keyalg RSA -keysize 2048 :使用 2048 位 RSA 算法对签名加密
validity 10000 :有效期时间,这里是 10000天
alias sign : 别名 sign
3.在应用程序中引用jks
在应用程序中引用jks
首先创建一个文件key.properties
路径为
,其中
就是你app的文件路径,
key.properties
为文件名
在该文件中输入对应的配置
storePassword=<生成keystore时设置的密码>
keyPassword=<生成keystore时设置的密码>
keyAlias=key //注意key为自己随意起的别名替换为自己的
storeFile=/key.jks>即生成文件的key.jks的文件路径
在gradle中配置签名
配置的文件路径为
为应用配置
4.build.gradle配置jks相关引用路径和打包设置,一般是把jks添加到app文件夹下方便使用
5.build.gradle文件需要以下修改
signingConfigs {
debug {
//jks中key的别名
keyAlias 'key'
//jks中key的密码
keyPassword '123456'
//jks的文件路径,可以是绝对路径也可以是相对路径
storeFile file('../key.jks')
//jks的密码
storePassword '123456'
}
release {
//jks中key的别名
keyAlias 'key'
//jks中key的密码
keyPassword '123456'
//jks的文件路径,可以是绝对路径也可以是相对路径
storeFile file('../key.jks')
//jks的密码
storePassword '123456'
}
}
buildTypes {
debug {
// 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
//关闭混淆, 否则在运行release包后可能出现运行崩溃, TODO后续进行混淆配置
minifyEnabled false //删除无用代码
shrinkResources false //删除无用资源
}
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.release
//关闭混淆, 否则在运行release包后可能出现运行崩溃, TODO后续进行混淆配置
minifyEnabled false //删除无用代码
shrinkResources false //删除无用资源
}
}
6.在 VSCode 中的 终端中输入 flutter build apk
,如果最终显示 ✓ Built ***
,说明打包成功。
build/app/outputs/flutter-apk/app-release.apk
是在项目中的子路径,到这里,APK 打包就已经顺利成功。
二、如何打包ipa
方法一:推荐:其实iOS的打包完全可以使用之前开发iOS的方式。
方法二:
flutter build ios --debug
flutter build ios --release
编译目录:
项目工程目录/build/ios/iphoneos/Runner.app
然后我们要创建一个名为Demo(自己app的名字)的文件夹,然后把Runner.app粘贴到Demo文件下,然后对Demo压缩成.zip,然后将Demo.zip重命名为Demo.ipa即可,至此ipa制作完成。