如何在Google Play控制台中为.aab文件签名以进行应用签名

时间:2019-06-26 11:02:46

标签: android google-play bundle google-play-console

我目前在制药公司工作,女巫也发布应用程序。到目前为止,唯一的范围是iOS,现在他们想创建Android应用。

由于有内部验证过程,因此开发人员会收到未签名的.aab文件。 完成该过程后,我们需要退出该应用,以将其部署到Google Play控制台中。

但是当我上载.aab时,我得到:“您上载了带有无效签名的APK(了解有关签名的更多信息)。apksigner出现错误:” 没有更多信息

正如所提到的,我们得到了一个干净的.aab文件,没有更多,并且需要部署它。

我已经在控制台中创建了一个新应用程序,启用了应用程序签名,下载了pepk.jar文件,运行了pepk附带的代码,上传了输出文件并下载了upload_cert.der文件。

现在我已经尝试将.der文件导入我的.keystore文件中,并辞职了.aab->没有成功
$ keytool -importcert-文件upload_cert.der -keystore appname.keystore

我试图创建一个.jks密钥库并导入.der->没有成功

-

创建密钥库的示例代码: $ keytool -genkey -v -keystore appname.keystore -alias alias -keyalg RSA -keysize 2048 -validity 10000

签名示例代码: $ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore appname.keystore appname_unsigned.aab“别名”

zipalign的示例代码: $ zipalign -v 4 appname_signed.aab cimzia_aligned.aab

出了什么问题? 有想法吗?

1 个答案:

答案 0 :(得分:0)

欢迎尼尔斯。

您需要更好地了解签名背后的概念,尤其是.der文件包含您的私钥,因此您将无法使用它来签名AAB。

为此,我为此答案提供了各种概念的详尽描述:Use provided upload_cert.der to sign a release Android APK file

阅读并希望对您有所帮助。

tldr是,您应该使用只有您拥有的私有上传密钥(Google没有此密钥-除非您明确选择使用与您的签名密钥相同的密钥) ,而不是Google允许您下载的.der文件,因为该文件仅包含上传密钥的 public 部分。

取决于您注册Play签名的方式,私钥可以是用来签署APK的原始密钥库,也可以是您注册时生成的其他密钥(当系统提示您使用其他上传密钥时)。 official documentation应该详细解释所有过程。