Android:是否可以创建未签名的调试版本?

时间:2016-04-27 14:31:53

标签: android build android-gradle

据我了解,默认情况下,调试版本会自动使用调试密钥库进行签名。

出于各种原因,我想要一个无符号的调试版本。我知道签署调试版本的各种解决方案,但这不是我想要的。

我们正在使用gradle。

我知道创建另一个版本类型/ flavor将导致一个未签名的apk,但这不是我要求的。

我再次问,是否可以创建默认 调试版本,但只需无符号

1 个答案:

答案 0 :(得分:0)

Maxim G的评论引用了另一个问题:

  

Export unsigned apk from a Gradle Project in Android Studio

让我对其中一个答案发表评论:

  

输出文件夹只为我调试了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按钮时发生的过程,并减慢速度。

有可能更简单的方法来完成整个过程,但这解决了我目前的困境。