关于为亚马逊Android App Store准备apk的问题

cot*_*aws 31 android amazon signing apk amazon-appstore

亚马逊的文档令人惊讶地缺乏有关提交二进制过程的信息.从我可以告诉你,你提交一个无符号二进制文件,他们将它包装在自己的代码中,并生成一个签名的apk?

这留下了几个问题:

  1. Amazon App Store是否为您执行zipalign?
  2. 如果您的应用已经在Android电子市场(Google)中,是否建议使用相同的软件包名称或不同的软件包名称?它有什么不同吗?
  3. 我还在其他地方看到,他们提供了下载他们准备的apk并用你自己的密钥签名的选项.是否建议使用此功能,然后使用您在Android电子市场中使用的相同密钥对其进行签名?它有什么不同吗?

在深入研究这个过程之前,是否还有其他考虑因素或陷阱?

谢谢

Mic*_* A. 14

  1. 是.亚马逊使用特定于其appstore的代码包装您的二进制文件,以允许他们收集分析数据并实施DRM.该应用程序将在此之后重新打包.

  2. 您应该使用相同的包名称.亚马逊分销协议目前有许多附带条件; 例如,您的应用程序在另一个应用程序商店的价格并不低.他们还会偶尔检查您的应用程序在市场上的版本是否是最新的.这些检查主要使用包名完成; 更改应用程序的程序包名称很容易被他们视为逃避协议条款的手段.

  3. 不,可能有很好的理由为什么人们想要这样做,但没有我能想到的.默认情况下,亚马逊会使用特定于您的亚马逊开发者帐户的签名对您的apk进行签名.

其他:

读这个.特别是,确保应用程序正确链接到亚马逊应用程序商店,而不是Android市场或其他人.我没有内部数据,但是我敢下注亚马逊拒绝的绝大多数提交都违反了这一要求.

编辑:第2点不再正确; 见下面的评论.

  • 我最终提交了我的应用程序,我只是简单介绍了我的一些经验/笔记,希望它可以帮助别人.我希望两个市场的签名保持一致.为了使选项能够以这种方式上传您的二进制文件,您必须联系亚马逊并请求在您的开发人员门户中打开它.一旦有,您将在上传二进制文件部分中看到一个选项.在eclipse中,如果右键单击项目并转到Android工具,则会出现无符号二进制导出选项.将其上传到亚马逊并按照他们提供的步骤操作. (4认同)
  • 第二个问题的答案不再正确.请参阅https://developer.amazon.com/public/support/submitting-your-app/tech-docs/submitting-your-app**"每个应用程序的包名称必须是唯一的.您提交的每个应用程序的包名称到亚马逊必须与任何其他应用商店(例如Google Play)上使用的套餐名称不同."** (4认同)
  • 看起来他们再次更改了它,而不再指定其他商店:**"每个应用程序的包名称必须是唯一的.您提交给Amazon的每个应用程序的包名称必须与任何其他应用程序中使用的包名称不同."**信任什么? (3认同)
  • 我最近不得不将我的应用程序上传到亚马逊,并且肯定有一个大型用例来签署您自己的应用程序.如果您使用任何类型的第三方API,例如Google地图或Facebook SSO,则需要使用这些服务签署生产密钥,以便在您的应用中使用它们.在这种情况下,您需要知道您为应用程序签名的密钥,因此您需要使用自己的密钥对其进行签名(更不用说为第三方服务管理一个密钥的便利性). (2认同)

NUL*_*ULL 8

以下是我从亚马逊移动应用程序分发团队收到的有关是否提交已签名或未签名的apk的问题的回复:

" 您可以向商店提交签名或未签名的二进制文件 - 我们会在任何一种情况下将您的签名应用于您的应用程序.如果您需要使用已知签名(例如,如果您使用Facebook授权)签署您的应用程序,您可以选择使用我们的自我签名流程上传您的应用程序(您需要请求我们为您启用此功能)."

提交应用程序最直接的方法是从Eclipse导出已签名的apk(所有zip对齐已准备就绪),然后使用我们的DRM和签名通过分发门户上传.

对于我的应用程序的最新更新,我刚刚使用了我之前发布的相同签名的apk到谷歌播放,它运作良好.