根据网络上和官网的诸多教程,很容易出现各种各样的错误。所以我整理自己构建flutter安卓apk的过程。
1.第一步:
Android studio 终端输入
keytool -genkey -v -keystore <存放的路径>/文件名字.jks -keyalg RSA -keysize 2048 -validity 有效时间 -alias 别名
注意,如果用的是m1芯片,则需要输入
keytool -genkey -v -keystore 存放的路径/‘名字’.jks -keyalg RSA -keysize 2048 -validity 10000 -alias ‘别名’ -storetype JKS
如此一来,第一步就完成了。
2.第二步:
在android目录下app文件夹下新建key 文件夹,将刚刚生成的 *.jks 复制到本文件夹下。
3.第三步:
在flutter的/android/app/build.gradle文件中的android前加入
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(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
将buildType下更改
buildTypes {
release {
lintOptions {
disable 'InvalidPackage'
disable "Instantiatable"
checkReleaseBuilds false
abortOnError false
}
// 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
}
}
4.创建 key.properties 文件
- storePassword= 刚刚创建密钥库时的密码
- keyPassword= 刚刚创建密钥的密码
- keyAlias=sign(别名)
- storeFile=存放路径(注意:是位于android/app下的)
5.进行apk生成
flutter build apk
再出现问题,通常flutter clean一下即可。