SigningConfig with name ‘myConfig’ not found.
今天在写 build.gradle.kts
文件的时候,通过 getByName 一直提示 SigningConfig with name 'myConfig' not found
, 但通过 signingConfigs.findByName 返回 null
println(“signingConfigs myConfig=”+signingConfigs.getByName(“myConfig”))
最后原因就是因为我把 signingConfigs 写到了 buildTypes 的后面,当把 signingConfigs 的定义放在 buildTypes 之前,就完美解决了这个问题
android {...signingConfigs {create("myConfig") {keyAlias = keystoreProperties["keyAlias"] as StringkeyPassword = keystoreProperties["keyPassword"] as StringstoreFile = file(keystoreProperties["storeFile"] as String)storePassword = keystoreProperties["storePassword"] as String}}...
}
android {...buildTypes {release {isMinifyEnabled = falseproguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"),"proguard-rules.pro")println("signingConfigs release="+signingConfigs.getByName("release"))signingConfig = signingConfigs.getByName("release")}debug {isMinifyEnabled = falseproguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"),"proguard-rules.pro")isDebuggable = trueprintln("signingConfigs myConfig="+signingConfigs.getByName("myConfig"))signingConfig = signingConfigs.getByName("myConfig")}}...
}
补充:
根据目录下:keystore.properties
storePassword=android
keyPassword=android
keyAlias=platform
storeFile=android_debug.keystore
build.gradle.kts
import java.io.FileInputStream
import java.util.Properties...
// Create a variable called keystorePropertiesFile, and initialize it to your
// keystore.properties file, in the rootProject folder.
val keystorePropertiesFile = rootProject.file("keystore.properties")// Initialize a new Properties() object called keystoreProperties.
val keystoreProperties = Properties()// Load your keystore.properties file into the keystoreProperties object.
keystoreProperties.load( FileInputStream(keystorePropertiesFile))
...android {...signingConfigs {create("myConfig") {keyAlias = keystoreProperties["keyAlias"] as StringkeyPassword = keystoreProperties["keyPassword"] as StringstoreFile = file(keystoreProperties["storeFile"] as String)storePassword = keystoreProperties["storePassword"] as String}create("release") {keyAlias = "abcd"keyPassword = "password"storeFile = file("../keystore.jks") //根目录下storePassword = "password"}}buildTypes {release {isMinifyEnabled = falseproguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"),"proguard-rules.pro")println("signingConfigs release="+signingConfigs.getByName("release"))signingConfig = signingConfigs.getByName("release")}debug {isMinifyEnabled = falseproguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"),"proguard-rules.pro")isDebuggable = trueprintln("signingConfigs myConfig="+signingConfigs.getByName("myConfig"))signingConfig = signingConfigs.getByName("myConfig")}}}