signingConfigs——安卓 gradle

目錄
一、前言
二、signingConfigs
三、signingConfig 結構解析
四、signingConfig 屬性
五、一些建議
六、寫在最後

一、前言

今天分享 signingConfigs 配置,從字面知道有 “簽署配置” 的意思。該配置的作用,就是爲編譯出來的apk簽上我們的“名字”,這樣才能將apk發佈安裝到用戶的設備上。

設備(手機、TV等)對 apk 的唯一認定,並不只是包名,而是 包名和簽名,其中一項不同,都會認爲這個 apk 包是不同的。

包名的不同,表現爲多個應用。簽名的不同,在應用升級時表現爲無法安裝,如果是第一次安裝,則不會有問題。

二、signingConfigs

signingConfigs 下能夠配置多個 signingConfig,例如下面代碼中的 sign1 和 sign2。可以供我們變體選擇需要的簽名。

signingConfigs {
	sign1 {
	//....
	}
	sign2 {
		//....
	}
}

三、signingConfig 結構解析

1、signingConfig 的存在位置

signingConfig 會映射爲 com.android.build.gradle.internal.dsl.SigningConfig 類,繼承結構如下:

SigningConfig
DefaultSigningConfig
com.android.builder.model.SigningConfig
Named
CoreSigningConfig

2、如何運行

signingConfig 主要是用於打包時的簽名,所以我們需要的是進行apk的打包編譯。

// app:clean 爲了先清空之前的文件
// app:aR 進行編譯 release 包
// mac 使用 ./gradlew 
// window 使用 gradlew 
./gradlew app:clean app:aR

四、signingConfig 屬性

4.1 keyAlias

  • 類型:String
  • 描述:我們所使用的簽名別名。
  • 使用方法:
sign1 {
	keyAlias 'gradleStudy'
	//...其他屬性
}

4.2 keyPassword

  • 類型:String
  • 描述:簽名的密碼
  • 使用方法:
sign1 {
	keyPassword '123456'
	// ...其他屬性
}

4.3 storeFile

  • 類型:File
  • 描述:使用的簽名文件,如果使用相對路徑,是相對於我們設置該屬性的gradle文件所處位置。
  • 使用方法:
sign1 {
	storeFile file('../key/gradleStudy.jks')
	// ...其他屬性
}

4.4 storePassword

  • 類型:String
  • 描述:簽名文件的密碼
  • 使用方法:
sign1 {
	storePassword 'gradleStudy'
	// ...其他屬性
}

4.5 storeType

  • 類型:String
  • 描述:簽名類型。當我們不填時,默認爲 jks 類型。
  • 使用方法:
sign1 {
	storeType 'jks'
	// ...其他屬性
}

4.6 v1SigningEnabled

  • 類型:boolean
  • 描述:是否使用 v1 類型的簽名方案。默認爲true,即開啓狀態。如果我們將其置爲false,則會導致在 7.0 以下版本,無法正常安裝。
  • 使用方法:
sign1 {
	v1SigningEnabled false
	// ...其他屬性
}

4.7 v2SigningEnabled

  • 類型:boolean
  • 描述:是否使用 v2 類型的簽名方案。默認爲true,即開啓狀態。v2在 7.0 版本之後才支持。
  • 使用方法:
sign1 {
	v2SigningEnabled true
	// ...其他屬性
}

略帶一提,v1、v2、v3 的簽名方案在此處就不展開了,有興趣的同學可以移步官方的文檔查看,請進傳送門

五、一些建議

因爲簽名文件和信息對於個人或是公司來說都是很重要的,官方並不建議直接寫在gradle中,而是在根目錄下建一個 keystore.properties 文件,存放我們的簽名配置,然後在 gradle 中將其引入。


具體代碼可以查看小盆友的另一個項目,多渠道打包

六、寫在最後

Gradle項目地址:Github傳送門

本篇博文的 signingConfigs 配置,請進傳送門

如果覺得本篇博文對你有所啓發或是解決了困惑,給個贊或關注我呀,小盆友會繼續分享更多的優質文章。

或是請我喝杯咖啡吧,小盆友會更加信心百倍的寫下去

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