flutter开发实战-打包应用apk签名及Android studio没有generate signed bundle/apk问题修改
最近使用flutter开发项目,需要将打包应用时候apk进行签名,我这边开发使用的是Android studio,发现在Android studio的build没有generate signed bundle/apk。这里记录一下问题修改,以及生产签名文件及gradle配置。
一、在Android studio的build没有generate signed bundle/apk修改
在Android studio的build没有generate signed bundle/apk的话,解决方案,需要在flutter工程的Android目录下,找到应用的flutter_myapp_android.iml文件,打开后在Android studio会在右上角提示"Open for Editing in Android Studio"。点击打开,等待下载后,时间会比较久。
如图所示
在下载后,如图所示
下载完成后,我们可以在Android studio的build找到generate signed bundle/apk了。
如图所示
二、使用generate signed bundle/apk进行生产签名文件
在找到了generate signed bundle/apk,使用generate signed bundle/apk来生成签名文件。
如图
输入相应的信息后可以点击OK生成
选择release最终生成了app_test1234
三、使用keytool来生成签名证书.keystore文件
除了操作界面外,还可以使用keytool来生成签名证书.keystore文件。
执行命令
dart
keytool -genkey \
-keystore ./app_test1234.keystore \
-alias app_test \
-storepass 123456 \
-keypass 123456 \
-dname 'C=CN, ST=ZJ, L=HZ, O=UV, OU=UV' \
-validity 36500 \
-storetype pkcs12 \
-keyalg RSA
三、查看证书的内容
可以使用keytool -list -v来查看证书的内容。
keytool -list -v -keystore 拼接上test.keystore文件的路径就可以查看证书的内容了
如图所示
四、在Android中配置
我们创建一个key.properties文件,内容如下
dart
storePassword=123456
keyPassword= 123456
keyAlias=app_test
storeFile=../app_test1234.keystore
将key.properties文件与app_test1234.keystore放到flutter项目的Android目录下,在app目录下的build.gradle添加
dart
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
在android{}添加
dart
android {
...
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
至此,在MAC下生成安卓签名及相应的Android配置成功。
五、小结
flutter开发实战-打包应用apk签名及Android studio没有generate signed bundle/apk问题修改。内容较多,描述可能不是特别准确,请见谅。
https://blog.csdn.net/gloryFlow/article/details/133915024
学习记录,每天不停进步。