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 String
keyPassword = keystoreProperties["keyPassword"] as String
storeFile = file(keystoreProperties["storeFile"] as String)
storePassword = keystoreProperties["storePassword"] as String
}
}
...
}
android {
...
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
println("signingConfigs release="+signingConfigs.getByName("release"))
signingConfig = signingConfigs.getByName("release")
}
debug {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
isDebuggable = true
println("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 String
keyPassword = keystoreProperties["keyPassword"] as String
storeFile = 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 = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
println("signingConfigs release="+signingConfigs.getByName("release"))
signingConfig = signingConfigs.getByName("release")
}
debug {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
isDebuggable = true
println("signingConfigs myConfig="+signingConfigs.getByName("myConfig"))
signingConfig = signingConfigs.getByName("myConfig")
}
}
}