gpt4 book ai didi

Android Studio : Is creation of a signing configuration necessary when creating a custom build type?

转载 作者:行者123 更新时间:2023-12-02 18:33:45 27 4
gpt4 key购买 nike

我已经创建了自定义构建类型,如下所示,并且不使用默认的调试和发布构建类型

buildTypes {
releasefree {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
releasepro {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationIdSuffix ".pro"
}
debugfree {
shrinkResources true
applicationIdSuffix ".debug"
debuggable true
}
debugpro {
shrinkResources true
applicationIdSuffix ".pro.debug"
debuggable true
}
}

这样做的原因:我有多种产品 flavor ,需要为每种产品提供一个专业版本,我觉得这比为每个免费产品创建单独的专业 flavor 更容易。我的代码使用 BuildConfig 类中的 APPLICATION_ID 处理差异。另一个原因是我有定制的类(class),如果我有两种不同的口味,则需要复制两次。我知道我可以配置源集,但是当我有太多风格时,我遇到了问题。非常难以追踪。

现在的问题是:当我尝试使用自定义 buildType 构建变体运行应用程序时,它要求我为每个自定义构建类型创建签名配置。

This is the error message i see

同样,执行时我在运行控制台中看到一条消息:

Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

Installation failed since the APK was either not signed, or signed incorrectly. If this is a Gradle-based project, then make sure the signing configuration is specified in the Gradle build script.

我了解这可能是必需的。但是,我试图找出的是:是否有一个我可以更改的设置,以便我创建的 debugfree 和 debugpro buildTypes 可以像默认的 debug buildType 一样绕过签名配置要求?我知道创建签名配置是一分钟的事情,如果我没有很快得到一些东西,我会这样做。但出于好奇,我想了解需要做什么才能使自定义 buildType 像默认调试 buildType 一样工作并且不需要签名配置。

尝试设置

debuggable true

(这是默认调试构建类型和我的自定义调试构建类型属性的唯一区别)希望它能像默认调试构建类型一样工作,但事实并非如此。为了使自定义构建类型像默认构建类型一样工作,即不需要签名配置,还需要更改哪些内容。

最佳答案

构建类型没有严格的继承。但是,您可以使用相当于复制构造函数的内容:

debugfree.initWith(buildTypes.debug)

其中 debugfree 是您要定义的构建类型,debug 是您要从中复制的构建类型。

在新构建类型的其余初始化之前执行此操作(否则,initFrom() 可能会清除该初始化的部分内容)。

特别是,由于 debug 已经设置了签名配置,因此通过从 debug 初始化来启动新的构建类型会使用相同的调试签名配置。

但是,在使用 debug 构建类型作为起点时,请非常小心。您不想意外地尝试使用该调试签名配置来发布应用程序。

关于Android Studio : Is creation of a signing configuration necessary when creating a custom build type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34111283/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com