这里 我用的VSC
app签名
第一步:生成 keystore
这里的坑挺多的,小伙伴一定要注意。官方写的非常简单,只要在终端运行如下代码就可以成功,但事实是报错。
如果您有现有keystore,请跳至下一步。如果没有,请通过在运行以下命令来创建一个:
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
注意:保持文件私密; 不要将它加入到公共源代码控制中。
注意: keytool可能不在你的系统路径中。它是Java JDK的一部分,它是作为Android Studio的一部分安装的。
报错截图
根本找不到这个目录,真的很坑,其实我们只是没有配置环境变量。但是为了一个包配置环境变量是不知道的。这时候可以用下面的命令找到keytool.exe的位置。
flutter doctor -v
这时候你直接拷贝命令并进行输入,但这里也有个坑,就是如果文件夹中间带有空空,你需要用带引号扩上。
这就可以了吗?那你就太天真了,还是会报错。
这里的问题是:目录不存在和没有写权限,所以我们要更换一个有写权限的目录。我们把命令改成了下面的形式。换成我们有的
这里 我们已经生成好了。我就不截图了 自己去相对应的目录看一下。记住这个文件不能共享给任何人。
有了这个key.jks文件后,可以到项目目录下的android文件夹下,创建一个名为key.properties的文件,并打开粘贴下面的代码。
storePassword=<password from previous step> //输入上一步创建KEY时输入的 密钥库 密码
keyPassword=<password from previous step> //输入上一步创建KEY时输入的 密钥 密码
keyAlias=key
storeFile=<E:/key.jks> //key.jks的存放路径
这是我的
storePassword=123123
keyPassword=123123
keyAlias=key
storeFile=D:/key.jks
第二步 配置key注册
key生成好后,需要在build.gradle文件中进行配置。这个过程其实很简单,就是粘贴复制一些东西,你是不需要知道这些文件的具体用处的。
第一步
进入项目目录的/android/app/build.gradle文件,在android{这一行前面,加入如下代码:
def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
把如下代码进行替换
buildTypes {
release {
signingConfig signingConfigs.debug
}
}
替换成的代码:
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
生成apk
直接在终端中输入:
flutter build apk
搞定