Android生成签名文件对应用签名 & Android签名作用

Android生成签名文件对应用签名 & Android签名作用

一、签名作用

1、 Android签名机制其实是对APK包完整性和发布机构唯一性的一种校验机制。
2、Android签名机制不能阻止APK包被修改,但修改后的再签名无法与原先的签名保持一致。
(除非拥有发布者的私钥)。
3、APK包加密的公钥就打包在APK包内,且不同的私钥对应不同的公钥。换句话言之,不同的私钥签名的APK公钥也必不相同。所以我们可以根据公钥的对比,来判断私钥是否一致。
4、确定发布者身份,可以根据公钥来对APP进行更新,换句话说:可以防止APP被其他包名相同应用覆盖

二、对应用进行签名

1、

Android生成签名文件对应用签名 & Android签名作用_第1张图片

点击 Generate Signed Bundle / APK

2、

Android生成签名文件对应用签名 & Android签名作用_第2张图片

点击 Create new

3、

Android生成签名文件对应用签名 & Android签名作用_第3张图片

key store path : 要生成 .jks 文件的路径
Alias : 别名
Validity:有效年限
下面一些: 姓名、组织机构、组织单位、城市、省、国家

4、

在这里插入图片描述

点击 ok 后会弹出用这样一个弹窗 直接点击 ok ,然后在下一个页面点击 next 。进入步骤 5

5、

Android生成签名文件对应用签名 & Android签名作用_第4张图片

至此,.jks 文件已经生成

接下来就是进行打包时的签名配置,在 app --> build.gradle 中进行配置

signingConfigs {//设置签名文件
        debug {
            storeFile file('../key/baiduMap.jks')
            storePassword '123456'
            keyAlias = 'key0'
            keyPassword '123456'
        }
        release {
            storeFile file('../key/baiduMap.jks')
            storePassword '123456'
            keyAlias = 'key0'
            keyPassword '123456'
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }
    
    buildTypes {//设置build类型
        release {
            //是否优化zip
            zipAlignEnabled true
            // 移除无用的resource文件
            shrinkResources true
            //启用代码混淆
            minifyEnabled true
            //混淆规则配置文件
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            //指明签名文件位置
            signingConfig signingConfigs.release
            buildConfigField "Boolean", "DEBUG_MODE", 'false'
        }

        debug {
            shrinkResources false
            minifyEnabled false
            zipAlignEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.debug
            buildConfigField "Boolean", "DEBUG_MODE", 'true'
        }
    }

在发布过程中有些商店必须要使用 .keystore文件来进行签名,这时可以直接把 .jks 文件后缀直接更改为 .keystore 即可

你可能感兴趣的:(android相关,android,Android签名作用,Android生成签名文件,Android对应用签名,apk)