Android生成簽名文件對應用簽名 & Android簽名作用

Android生成簽名文件對應用簽名 & Android簽名作用

一、簽名作用

1、 Android簽名機制其實是對APK包完整性和發佈機構唯一性的一種校驗機制。
2、Android簽名機制不能阻止APK包被修改,但修改後的再簽名無法與原先的簽名保持一致。
(除非擁有發佈者的私鑰)。
3、APK包加密的公鑰就打包在APK包內,且不同的私鑰對應不同的公鑰。換句話言之,不同的私鑰簽名的APK公鑰也必不相同。所以我們可以根據公鑰的對比,來判斷私鑰是否一致。
4、確定發佈者身份,可以根據公鑰來對APP進行更新,換句話說:可以防止APP被其他包名相同應用覆蓋

二、對應用進行簽名

1、

在這裏插入圖片描述

點擊 Generate Signed Bundle / APK

2、

在這裏插入圖片描述

點擊 Create new

3、

在這裏插入圖片描述

key store path : 要生成 .jks 文件的路徑
Alias : 別名
Validity:有效年限
下面一些: 姓名、組織機構、組織單位、城市、省、國家

4、

在這裏插入圖片描述

點擊 ok 後會彈出用這樣一個彈窗 直接點擊 ok ,然後在下一個頁面點擊 next 。進入步驟 5

5、

在這裏插入圖片描述

至此,.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 即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章