据我了解,默认情况下,调试版本会自动使用调试密钥库进行签名。
出于各种原因,我想要一个无符号的调试版本。我知道签署调试版本的各种解决方案,但这不是我想要的。
我们正在使用gradle。
我知道创建另一个版本类型/ flavor将导致一个未签名的apk,但这不是我要求的。
我再次问,是否可以创建默认 调试版本,但只需无符号?
答案 0 :(得分:0)
Maxim G的评论引用了另一个问题:
让我对其中一个答案发表评论:
输出文件夹只为我调试了apk。这篇文章是我如何得到一个真正的未签名的apk:entzeroth.com/export-unsigned-android-apk - Keith Entzeroth
链接网站引导我找到答案,我想我应该自己弄清楚:
debug {
signingConfig null
}
希望它能够自我解释为什么会产生无符号的调试版本。 我认为为其他版本指定这个是多余的,因为没有默认的签名配置,我认为只适用于调试。
在实践中,我做的事情略有不同:
if (project.hasProperty('debug_force_unsign') &&
property('debug_force_unsign') == 'true') {
debug {
signingConfig null
}
}
该属性' debug_force_unsign'只是允许我准确指定何时我希望调试版本是无符号的,这通常只适用于在我的构建机器上创建的调试版本。我执行:
gradlew clean assembleDebug -Pdebug_force_unsign=true
强制调试版本无符号。然后我在稍后的步骤中签名。 如果我没有这样做,我的调试版本将在我的开发机器上未签名,我将无法轻松安装它们。基本上,它会打破我在IDE上按下RUN按钮时发生的过程,并减慢速度。
有可能更简单的方法来完成整个过程,但这解决了我目前的困境。