• flutter开发实战-打包应用apk签名及Android studio没有generate signed bundle/apk问题修改


    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文件。

    执行命令

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    三、查看证书的内容

    可以使用keytool -list -v来查看证书的内容。
    keytool -list -v -keystore 拼接上test.keystore文件的路径就可以查看证书的内容了

    如图所示
    在这里插入图片描述

    四、在Android中配置

    我们创建一个key.properties文件,内容如下

    storePassword=123456
    keyPassword= 123456
    keyAlias=app_test
    storeFile=../app_test1234.keystore
    
    • 1
    • 2
    • 3
    • 4

    将key.properties文件与app_test1234.keystore放到flutter项目的Android目录下,在app目录下的build.gradle添加

    def keystoreProperties = new Properties()
    def keystorePropertiesFile = rootProject.file('key.properties')
    if (keystorePropertiesFile.exists()) {
        keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在android{}添加

    android {
        ...
    
        signingConfigs {
            release {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
                storePassword keystoreProperties['storePassword']
            }
        }
        buildTypes {
            release {
                signingConfig signingConfigs.release
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    至此,在MAC下生成安卓签名及相应的Android配置成功。

    五、小结

    flutter开发实战-打包应用apk签名及Android studio没有generate signed bundle/apk问题修改。内容较多,描述可能不是特别准确,请见谅。

    https://blog.csdn.net/gloryFlow/article/details/133915024

    学习记录,每天不停进步。

  • 相关阅读:
    TCP IP网络编程(四) 基于TCP的服务器端、客户端
    Python面试高频问题:修改list中某个元素时的坑
    物联网-UWB定位技术
    VSCode实用插件
    多重背包理论基础
    1534_TriCore编译器Tasking使用_汇编语言语法以及标识符
    【构建ML驱动的应用程序】第 1 章 :从产品目标到 ML 框架
    七天.NET 8操作SQLite入门到实战 - 第五天引入SQLite-net ORM并封装常用方法
    消费品企业会员运营系统 品牌会员流失解决方案
    2.Python # 代码注释
  • 原文地址:https://blog.csdn.net/gloryFlow/article/details/133915024