2012-01-17 54 views
2

我目前正在开发由外部第三方开发的Android应用程序。我们正处于准备实施/测试应用内购买的阶段,但为了继续这一工作,我们必须先将应用上传到市场(这样我们才能制作应用内购买ID)。为了上传到市场,您必须使用非调试密钥对应用程序进行签名。Android - Keystore,应用程序内购买和外包开发

我的问题是:

  1. 什么是去了解这一点,并保持我的密钥库的隐私的最佳方式?
  2. 以后可以更改密钥库而不影响应用程序的功能吗?
  3. 假设我不会编写自己的应用程序内购买代码,那么什么是一个很好的来回程序?

回答

0

用于签名的密钥对必须保持不变,否则无法更新Market中的现有应用程序。因此,正确的做法是开发人员为您提供未签名的APK,并在本地签署,然后提交给市场。

由于Bruno Oliveira在另一个答案中提出,为了进行调试,您可以创建一个应用程序并使用您与开发人员共享的密钥对其进行签名。但在这种情况下,准备创建并提交一个全新的发布应用程序,因为我上面提到的原因。

+0

因此,理论上我现在可以生成签名的APK,上传它,继续开发,然后生成另一个签名相同的APK,并替换市场上的旧APK,而不会造成问题? – GMW 2012-01-17 16:14:57

+0

@GMW是的,这正是它的工作原理。 – 2012-01-17 16:39:30

2

看起来测试应用程序的最好方法是让供应商使用不同的包名称并使用您和此供应商共享的证书将其上传到市场。这将是应用程序的调试版本,不会被公布。

完成测试和调试并准备好发布生产版本后,您的供应商会向您提供未签名的APK以及最终的包名称,然后您将使用您的产品上传到Android Market证书,你永远不会与供应商分享。

+0

谢谢你的回复。我看到的问题是,应用内购买时,您的Android发布商帐户中的“公钥”必须用于购买。如果创建一个单独的供应商帐户,它将具有不同的公钥。 – GMW 2012-01-17 16:06:36