Flutter中生成Android的jks签名文件并使用

本人的开发环境是mac+vscode,所以操作都是在改环境下进行

第一步:生成jks文件

在Terminal下执行命令

keytool -genkey -v -keystore <keystore-file> -keyalg RSA -keysize 2048 -validity 10000 -alias key

我通常放在Flutter的android/app/目录下,也可以放在其他目录下,记下签名密码信息

再执行命令

keytool -list -v -keystore <keystore-file>

可以查看jks文件的SHA256签名指纹

Flutter中生成Android的jks签名文件并使用_flutter

 

 

第二步:配置key信息

 在android目录下新建配置文件 key.properties

storePassword=123456 
keyPassword=123456
keyAlias=key
storeFile=./key.jks #第一步生成的jks文件地址

在app的build.gradle文件下

加入以下代码读取key.properties信息

def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

修改或增加文件中signingConfigs代码

    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
        debug {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }

    buildTypes {
        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.debug
        }
    }

 如果偷懒也可以把key信息直接写在gradle.properties中,可以直接读取