<legend id='Xal0n'><style id='Xal0n'><dir id='Xal0n'><q id='Xal0n'></q></dir></style></legend>
  1. <i id='Xal0n'><tr id='Xal0n'><dt id='Xal0n'><q id='Xal0n'><span id='Xal0n'><b id='Xal0n'><form id='Xal0n'><ins id='Xal0n'></ins><ul id='Xal0n'></ul><sub id='Xal0n'></sub></form><legend id='Xal0n'></legend><bdo id='Xal0n'><pre id='Xal0n'><center id='Xal0n'></center></pre></bdo></b><th id='Xal0n'></th></span></q></dt></tr></i><div id='Xal0n'><tfoot id='Xal0n'></tfoot><dl id='Xal0n'><fieldset id='Xal0n'></fieldset></dl></div>

      <bdo id='Xal0n'></bdo><ul id='Xal0n'></ul>

    <small id='Xal0n'></small><noframes id='Xal0n'>

    <tfoot id='Xal0n'></tfoot>

      如何使用多个证书签署 APK?

      How to sign an APK with more than one certificate?(如何使用多个证书签署 APK?)

          <small id='OuDe4'></small><noframes id='OuDe4'>

        1. <i id='OuDe4'><tr id='OuDe4'><dt id='OuDe4'><q id='OuDe4'><span id='OuDe4'><b id='OuDe4'><form id='OuDe4'><ins id='OuDe4'></ins><ul id='OuDe4'></ul><sub id='OuDe4'></sub></form><legend id='OuDe4'></legend><bdo id='OuDe4'><pre id='OuDe4'><center id='OuDe4'></center></pre></bdo></b><th id='OuDe4'></th></span></q></dt></tr></i><div id='OuDe4'><tfoot id='OuDe4'></tfoot><dl id='OuDe4'><fieldset id='OuDe4'></fieldset></dl></div>
          <tfoot id='OuDe4'></tfoot>

              <tbody id='OuDe4'></tbody>
                <bdo id='OuDe4'></bdo><ul id='OuDe4'></ul>
                <legend id='OuDe4'><style id='OuDe4'><dir id='OuDe4'><q id='OuDe4'></q></dir></style></legend>
                本文介绍了如何使用多个证书签署 APK?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                如何使用多个证书签署一个 APK,以便在我发布到 Android Market 时执行此操作:

                1.0 版 => 使用证书 A 签名
                版本 2.0 => 使用证书 A 签名 &乙
                版本 3.0 => 使用证书 B 签名

                Version 1.0 => Signed with Certificate A
                Version 2.0 => Signed with Certificate A & B
                Version 3.0 => Signed with Certificate B

                Android Market 确实给了我一些希望,但我不知道该怎么做,当我使用不同的签名证书上传时,它给了我这样的信息:

                The Android Market does give me some hope but I am not sure what to make of it, when I upload with a different sign certificate it gives me this message:

                apk 必须使用至少一个与之前版本相同的证书进行签名."

                "The apk must be signed with at least one certificate in common with the previous version."

                动机:
                我已经使用 Android 签名工具作为 MotoDev Studio for android 的一部分在市场上发布了一个应用程序.问题是它自己处理密钥并且没有办法(记录)来获取它们.我想将其更改为使用我可以更好地控制并且即使我不再使用 MotoDev Studio 也可以使用的密钥库和证书.此外,MotoDev Studio 似乎会将您锁定在共享库等新功能之外.

                Motive:
                I have published an app on the market using the Android Signing Tool as part of MotoDev Studio for android. The problem is that it handles the keys itself and there is no way (documented) to get them. I want to change it to use a keystore and certificate that I have more control of and can use even if I don't use MotoDev Studio anymore. Also it seems that MotoDev Studio will lock you out of new features such as shared libraries.

                2011 年 5 月 3 日更新:
                实际上,他们在更新 MotoDev Studio 时非常迅速和迅速,但我似乎认为 Google 仍然应该为那些想要更改其应用程序的证书.更新应用程序以使所有应用程序都使用相同的证书,随着时间的推移创建新的,并可能创建一个新的,以便您可以将您的应用程序的支持和分发交给其他人.

                UPDATE 5/3/2011:
                They have been actually really quick and prompt at updating MotoDev Studio but it seems like I believe that Google should still provide a work around for those that want to change the certificates of their applications. Updating application to all use the same certificate, creating new ones over time, and possibly creating a new one so that you may hand of the support and distribution of your application to others.

                推荐答案

                如果您想多次签署一个 APK,就这样做.
                但请注意,Google Play 不接受具有多个签名的 APK.

                If you want to sign an APK more than once, just do so.
                But note that Google Play does not accept APKs with multiple signatures.

                例如.您可以在命令行中使用 签署一个 APK>jarsigner 像这样:
                jarsigner -keystore original-keystore my-app-unsigned.apk key-alias 别名

                eg. You can sign an APK from the command line using jarsigner like so:
                jarsigner -keystore original-keystore my-app-unsigned.apk key-alias alias

                然后用第二个键重复此操作:
                jarsigner -keystore new-signing-keystore my-app-unsigned.apk key-alias

                Then just repeat this with the second key:
                jarsigner -keystore new-signing-keystore my-app-unsigned.apk key-alias

                之后不要忘记运行 zipalign:
                zipalign -v 4 my-app-unsigned.apk my-app.apk

                我刚刚重新阅读了有关 MotoDev 工作室的部分.在这种情况下,您可以像往常一样首先使用 MotoDev 对 APK 进行签名,然后在命令行上使用您的新密钥进行签名.

                I just re-read the part about MotoDev studio. In that case you can just sign the APK first using MotoDev as usual, then sign with your new key on the command line as above.

                这篇关于如何使用多个证书签署 APK?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                相关文档推荐

                Android - Is it possible to get install referrer programmatically(Android - 是否有可能以编程方式安装引荐来源网址)
                versionCode vs versionName in Android Manifest(Android Manifest 中的 versionCode 与 versionName)
                What does this Google Play APK publish error message mean?(这个 Google Play APK 发布错误消息是什么意思?)
                Lost my keystore for uploaded app on android market(丢失了我在 android 市场上上传的应用程序的密钥库)
                App on Google Play always shows quot;Updatequot; instead of open(Google Play 上的应用程序总是显示“更新;而不是打开)
                How to restrict android app to specific device make?(如何将 android 应用程序限制为特定设备品牌?)
                <i id='VpQvs'><tr id='VpQvs'><dt id='VpQvs'><q id='VpQvs'><span id='VpQvs'><b id='VpQvs'><form id='VpQvs'><ins id='VpQvs'></ins><ul id='VpQvs'></ul><sub id='VpQvs'></sub></form><legend id='VpQvs'></legend><bdo id='VpQvs'><pre id='VpQvs'><center id='VpQvs'></center></pre></bdo></b><th id='VpQvs'></th></span></q></dt></tr></i><div id='VpQvs'><tfoot id='VpQvs'></tfoot><dl id='VpQvs'><fieldset id='VpQvs'></fieldset></dl></div>
                  <tbody id='VpQvs'></tbody>
                <tfoot id='VpQvs'></tfoot>

                  <small id='VpQvs'></small><noframes id='VpQvs'>

                    <bdo id='VpQvs'></bdo><ul id='VpQvs'></ul>
                      <legend id='VpQvs'><style id='VpQvs'><dir id='VpQvs'><q id='VpQvs'></q></dir></style></legend>