生成keystore,给apk签名

查看是否安装jdk

/usr/libexec/java_home -V

image.png

如果没安装,去这里下载,链接:http://www.oracle.com/technetwork/java/javase/downloads/

生成

keytool -genkey -v -keystore mykey.keystore -alias key -keyalg RSA -keysize 2048 -validity 10000

按照提示填好资料,记住密码就行。

把这个keystore文件复制到 项目/android/app下面

配置项目key注册

到项目目录下的android文件夹下,创建一个名为key.properties的文件,并打开粘贴下面的代码(密码就是我们刚才输入的密码)

storePassword=111111
keyPassword=111111
keyAlias=key
storeFile=mykey.keystore

进入项目目录的/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 {
        debug {
            signingConfig signingConfigs.release
        }
    release {
        signingConfig signingConfigs.release
    }
}

最后执行命令

flutter build apk