[Android] build.gradle.kts SigningConfig with name ‘myConfig‘ not found

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")
        }
    }
   
}

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-28 16:36:07       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-28 16:36:07       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-28 16:36:07       82 阅读
  4. Python语言-面向对象

    2024-04-28 16:36:07       91 阅读

热门阅读

  1. uniapp 基础阿里云点播 使用

    2024-04-28 16:36:07       37 阅读
  2. Es6和Es5的区别?

    2024-04-28 16:36:07       27 阅读
  3. php 手机号加星号

    2024-04-28 16:36:07       30 阅读
  4. 什么是CDA数据分析师认证考试?

    2024-04-28 16:36:07       101 阅读
  5. springboot中多线程问题的优化和处理

    2024-04-28 16:36:07       32 阅读
  6. Ubuntu下安装配置Nginx服务器的终极指南

    2024-04-28 16:36:07       33 阅读
  7. dolphinscheduler使用与测试文档

    2024-04-28 16:36:07       29 阅读