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

devtools/2024/10/18 18:27:21/

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 之前,就完美解决了这个问题

kotlin">android {...signingConfigs {create("myConfig") {keyAlias = keystoreProperties["keyAlias"] as StringkeyPassword = keystoreProperties["keyPassword"] as StringstoreFile = file(keystoreProperties["storeFile"] as String)storePassword = keystoreProperties["storePassword"] as String}}...
}
kotlin">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

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

http://www.ppmy.cn/devtools/23018.html

相关文章

PC-3000 Mobile Pro: 智能手机及平板设备数据提取及取证工具

天津鸿萌科贸发展有限公司从事数据安全业务20余年,在数据恢复、数据取证、数据备份等领域有丰富的案例经验、前沿专业技术及良好的行业口碑。同时,公司面向取证机构及数据恢复公司,提供数据恢复实验室建设方案,包含数据恢复硬件设…

回归(Regression)

回归(Regression)在统计学和机器学习中是一种预测建模技术,它研究的是因变量(目标变量)和自变量(特征)之间的关系。回归分析的目的是建立一个数学模型,这个模型能够基于一个或多个自…

分布式与一致性协议之CAP(四)

CAP BASE理论:CAP的"碱",追求可用性 很多人可能喜欢使用事务型的分布式系统或者强一致性的分布式系统,因为方便,不需要考虑太多,就像单机系统一样。但是学了CAP理论后,你肯定知道在分布式系统中&#xff0…

Vue从入门到精通-01-Vue的介绍和vue-cli

MVVM模式 Model:负责数据存储 View:负责页面展示 View Model:负责业务逻辑处理(比如Ajax请求等),对数据进行加工后交给视图展示 关于框架 为什么要学习流行框架 1、企业为了提高开发效率:…

[实验]Keil 4下仿真三星2440A芯片的汇编及CPIO控制实验

一、安装Keil uVision4 (详细安装过程忽略) 点击finish完成安装 二、新建项目,导入项目文件 选择对应的芯片,此处我们选择三星的S3C2440A,点击OK 在Source Group 1处右键,点击Add Files to "Sourcce Group 1’…将下图…

C++宝强越狱1.0.7版本上市

这次有点水,只更了一关,但下一关就是第一章节的完结 上代码 #include"bits/stdc.h" #include"Windows.h" #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0) using namespace std; int w3,s3,a3,…

[华为OD]给定一个 N*M 矩阵,请先找出 M 个该矩阵中每列元素的最大值 100

题目: 给定一个 N*M 矩阵,请先找出 M 个该矩阵中每列元素的最大值,然后输出这 M 个值中的 最小值 补充说明: N 和 M 的取值范围均为:[0, 100] 示例 1 输入: [[1,2],[3,4]] 输出: 3 说…