天天看點

用Android studio直接擷取debug和release的SHA1和MD5值

當我們申請友盟或者百度地圖等密鑰時,會需要SHA1或者MD5,查一些資料都是用es或者dos指令生成,現在嘗試用As生成。

建立一個項目,然後按照下圖操作,看會有什麼效果:

用Android studio直接擷取debug和release的SHA1和MD5值

根據我描述的三步,直接發現直接生成了debug的SHA1和MD5:如圖

用Android studio直接擷取debug和release的SHA1和MD5值

是不是很快捷,現在就來試着同時生成debug和release的SHA1和MD5值。

第一步:把Store: C:\Users\Administrator\.android\debug.keystore中的debug.keystore檔案拷貝到項目檔案config下:

用Android studio直接擷取debug和release的SHA1和MD5值

第二步:擷取正式簽名包的.jks檔案,同樣拷貝到config檔案夾下,如果沒有該檔案,用build->Generate Signed Apk去擷取,這裡不細講了

第三步:在config檔案夾下建立signing.properties檔案,内容如下

用Android studio直接擷取debug和release的SHA1和MD5值

其實就是對應的簽名:

用Android studio直接擷取debug和release的SHA1和MD5值

好了到這裡我們config檔案夾下已經有三個檔案了

用Android studio直接擷取debug和release的SHA1和MD5值

第四步,也是最後一步,配置gradle:

signingConfigs {
        debug {
            storeFile file("../config/debug.keystore")
        }
        release {
            storeFile file("release.jks")
        }

    }
           
buildTypes {
        release {
            minifyEnabled true
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
           
File propFile = file('../config/signing.properties');
    if (propFile.exists()) {
        def Properties props = new Properties()
        props.load(new FileInputStream(propFile))
        if (props.containsKey('STORE_FILE') && props.containsKey('STORE_PASSWORD') &&
                props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')) {
            android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
            android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
            android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
            android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
        } else {
            android.buildTypes.release.signingConfig = null
        }
    } else {
        android.buildTypes.release.signingConfig = null
    }
           

完成後,如圖所示:

用Android studio直接擷取debug和release的SHA1和MD5值

到這裡我們基本完成了,再執行下文章最開始那一步:

用Android studio直接擷取debug和release的SHA1和MD5值

發現debug和release都直接生成了:

用Android studio直接擷取debug和release的SHA1和MD5值
用Android studio直接擷取debug和release的SHA1和MD5值

至此,大功告成。