如何为我的Android Market APK创建证书?

时间:2010-10-21 08:04:45

标签: android debugging certificate release google-play

我想将我的第一个APK /应用程序上传到Android电子市场,但是我遇到了这个错误(顺便说一下,当我在stackoverflow中搜索时,这并没有引导我找到正确的链接。)

市场不接受使用调试证书签名的apks。创建一个有效期至少50年的新证书。 市场要求用于签署apk的证书至少在2033年10月22日之前有效。创建新证书。

虽然事实证明this question是相似的,但是这个家伙只是说“哦,你提醒我怎么做”而没有实际解释。我看过“回答”中提到的网站,但这是我的问题:

  • 我不知道我的keytool工具在哪里。 Android site非常模糊;我没有在我的.. \ android-sdk-windows \ tools目录中看到任何类型的“keytool”。
  • 我想我以前做过这个,但是我希望我有一组步骤,比如“打开一个命令提示符,导航到keytool所在的目录,输入命令'xyz -flagsforxyz',然后从Eclipse中的'export release apk'选项指向密钥库“......或类似的东西。

我希望你能说我已经尝试了一些东西!我可能只是忽略了一些简单的事情 - 所以是时候将这些步骤记录在stackoverflow中了!谢谢你的帮助。

2 个答案:

答案 0 :(得分:77)

如果您正在使用Eclipse for Development,只需右键单击您的项目并单击“导出”。现在选择Android然后选择Export Android Application。在下一步中,确认要导出的项目。然后单击“下一步”,现在您应该可以选择“创建新密钥库”。现在填写必填字段,您应该可以签署您的应用程序。请务必备份密钥库文件并记住密码。丢失此功能将无法更新您的应用程序。

如果您使用终端创建密钥库并且安装了Java SDK,则/ usr / bin中应该有一个名为keytool的程序(在基于unix的系统上)。在Windows上,SDK也应该附带keytool,但如果keytool不在您的路径中,则安装位置可能会在您的计算机上搜索keytool.exe。使用此工具,您应该能够以下列方式创建密钥:

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000

请记住,一旦您丢失了证书或证书过期,您将无法签署您的申请。确保将来的有效期很长。

答案 1 :(得分:4)

是的,janusz已经很好地解释了它,但我想在将App推向市场之前告诉更多的步骤。 所以第一步是使用jarsigner

签署应用程序
jarsigner -verbose -keystore pkg_name apk_file_name key_name

,第二步是使用zipalign确保您不会丢失任何空间。

zipalign -v 4 apk_file_name zipped_apk_file_name(newfile)

它肯定会帮助你启动你的应用程序。