为Android商店签署一个kivy应用程序时出错

时间:2015-07-31 09:51:23

标签: android python kivy

我尝试使用LieDedector-1.2.0-release-unsigned.apk为我的应用程序签名,该应用程序名为jarsigner并在kivy中编程。 apk和我的密钥库(名为My1Key.keystore)都位于keystores目录中。 所以我尝试使用以下命令签署我的应用程序:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ./keystores/My1Key.keystore ./keystores/LieDedector-1.2.0-release-unsigned.apk cb-play

我收到了错误消息:

  

jarsigner:找不到证书链:cb-play。 cb-play必须引用包含私钥和相应公钥证书链的有效KeyStore密钥条目。

为什么我不能签署我的应用程序?

2 个答案:

答案 0 :(得分:1)

这似乎与密钥库的命名有关。我们的命令几乎相同并且有效。它是最后一项,cb-play,在哪里(我认为)它出错......

Certificate chain not found, how to fix and publish to Google Play Store?

答案 1 :(得分:1)

非常感谢,我做到了! 我是这样做的:

  1. 我用

    生成了一个发布apk

    buildozer android release

  2. 2.我创建了一个密钥库

    1. 我发现我的别名是:Keystore-Typ: JKS Keystore-Provider: SUN Keystore enthält 1 Eintrag Aliasname: m1k Erstellungsdatum: 31.07.2015 Eintragstyp: PrivateKeyEntry Zertifikatskettenlänge: 1 Zertifikat[1]:
    2. 输出应如下所示:

      jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ./keystores/My1Key.keystore ./keystores/LieDedector-1.2.0-release-unsigned.apk m1k

      就我而言,别名是m1k

      1. 比我生成signt我的apk文件:
      2. keystores

        (我的apk和我的密钥库都在LieDedector-1.2.0-release-unsigned.apk direktory中,我的apk被称为My1Key.keystore我的密钥库m1k,别名是 #include <stdio.h> void user_connect(char user[],char date[]){ FILE* fichier=NULL; fichier=fopen("log.txt","+a"); fprintf(fichier,"user:%s connected at :%s",user,date); fclose(fichier); } void etat_periph(char periph[]){ FILE* fichier=NULL; fichier=fopen("log.txt","+a"); fprintf(fichier,periph); fclose(fichier); }

        我希望这有助于某人:)