How can I create a keystore?

后端 未结 11 1268
北恋
北恋 2020-11-22 13:47

What are the steps to create a keystore for android?

I need to use google maps in my app and I don\'t know what steps I missed. Please provide me with the specific d

11条回答
  •  [愿得一人]
    2020-11-22 14:05

    I'd like to suggest automatic way with gradle only

    ** Define also at least one additional param for keystore in last command e.g. country '-dname', 'c=RU' **

    apply plugin: 'com.android.application'
    
    // define here sign properties
    def sPassword = 'storePassword_here'
    def kAlias = 'keyAlias_here'
    def kPassword = 'keyPassword_here'
    
    android {
        ...
        signingConfigs {
            release {
                storeFile file("keystore/release.jks")
                storePassword sPassword
                keyAlias kAlias
                keyPassword kPassword
            }
        }
        buildTypes {
            debug {
                signingConfig signingConfigs.release
            }
            release {
                shrinkResources true
                minifyEnabled true
                useProguard true
                signingConfig signingConfigs.release
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
        ...
    }
    
    ...
    
    task generateKeystore() {
        exec {
            workingDir projectDir
            commandLine 'mkdir', '-p', 'keystore'
        }
        exec {
            workingDir projectDir
            commandLine 'rm', '-f', 'keystore/release.jks'
        }
        exec {
            workingDir projectDir
            commandLine 'keytool', '-genkey', '-noprompt', '-keystore', 'keystore/release.jks',
                '-alias', kAlias, '-storepass', sPassword, '-keypass', kPassword, '-dname', 'c=RU',
                '-keyalg', 'RSA', '-keysize', '2048', '-validity', '10000'
        }
    }
    
    project.afterEvaluate {
        preBuild.dependsOn generateKeystore
    }
    

    This will generate keystore on project sync and build

    > Task :app:generateKeystore UP-TO-DATE
    > Task :app:preBuild UP-TO-DATE
    

提交回复
热议问题