Android 项目工程配置签名文件

1. Android签名证书(.keystore)

  Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份。
  Android证书的生成是自助和免费的,不需要审批或付费。
  可以使用JRE环境中的keytool命令生成。以下是windows平台生成证书的方法

1.1. 生成签名证书

  使用cmd命令生成证书:

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore testalias.keystore

  testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
  test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
  36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期

Enter keystore password:  //输入证书文件密码,输入完成回车  
Re-enter new password:   //再次输入证书文件密码,输入完成回车  
What is your first and last name?  
  [Unknown]:  //输入名字和姓氏,输入完成回车  
What is the name of your organizational unit?  
  [Unknown]:  //输入组织单位名称,输入完成回车  
What is the name of your organization?  
  [Unknown]:  //输入组织名称,输入完成回车  
What is the name of your City or Locality?  
  [Unknown]:  //输入城市或区域名称,输入完成回车  
What is the name of your State or Province?  
  [Unknown]:  //输入省/市/自治区名称,输入完成回车  
What is the two-letter country code for this unit?  
  [Unknown]:  //输入国家/地区代号(两个字母),中国为CN,输入完成回车  
Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?  
  [no]:  //确认上面输入的内容是否正确,输入y,回车  

Enter key password for <testalias>  
        (RETURN if same as keystore password):  //确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以

Android 项目工程配置签名文件_第1张图片
在这里插入图片描述
  以上命令运行完成后就会生成证书,路径为生成路径。
  注意:上述信息填写要规范,乱填有可能会影响应用上架应用市场。

1.2. 查看证书信息

keytool -list -v -keystore testalias.keystore  
Enter keystore password: //输入密码,回车

2. 配置指定的签名文件

2.1. Android studio给项目工程配置指定的签名文件

  项目只要打包生成Apk时,一定是需要签名文件的,当我们打debug包时只不过是默认的用了系统给的签名文件而已,如果我们想给自己的项目指定特定的签名文件改如何呢?
  步骤:【File→Project Structure→Moduls→app→Signing Configs】(快捷键Ctrl+Shift+Alt+S)
Android 项目工程配置签名文件_第2张图片
  查看build.gradle中多了:

    signingConfigs {
        getByName("debug") {
            enableV1Signing =true
            enableV2Signing =true
            enableV3Signing =true
            enableV4Signing =true
            storeFile = file("./keystore/insour_szyj.keystore")
            storePassword = "insour_szyj"
            keyAlias = "insour_szyj"
            keyPassword = "insour_szyj"
        }
    }

2.2. 给相应的包配置对应的签名文件,debug或者release包:

Android 项目工程配置签名文件_第3张图片
  查看build.gradle中多了:

 buildTypes {
        debug {
//            minifyEnabled false//混淆
            minifyEnabled true
            shrinkResources true
            // 不显示Log
            buildConfigField "boolean", "LOG_DEBUG", "false"
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                    'proguard-rules.pro'
            aaptOptions.cruncherEnabled = false
            aaptOptions.useNewCruncher = false
            apkName = "szyj.apk"
            signingConfig signingConfigs.release
        }
        release {
//            minifyEnabled false//混淆
            minifyEnabled true
            shrinkResources true
            // 不显示Log
            buildConfigField "boolean", "LOG_DEBUG", "false"
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                    'proguard-rules.pro'
            aaptOptions.cruncherEnabled = false
            aaptOptions.useNewCruncher = false
            apkName = "szyj.apk"
            signingConfig signingConfigs.release
        }

    }

你可能感兴趣的:(AndroidStudio配置,android)