有关为 Amazon Android App Store 准备 apk 的问题
令人惊讶的是,亚马逊的文档缺乏有关提交二进制过程的信息。据我所知,您提交了一个未签名的二进制文件,他们将其包装在自己的代码中并生成了一个签名的apk?
这留下了几个问题:
- Amazon App Store 是否为您执行 zipalign 操作?
- 如果您的应用程序已在 Android Market(Google 的)中,建议使用相同的包名称还是不同的包名称?有什么区别吗?
- 我还在其他地方看到,他们提供了下载他们准备的 apk 并使用您自己的密钥对其进行签名的选项。是否建议使用此密钥,然后使用您在 Android Market 中使用的相同密钥对其进行签名?有什么区别吗?
在深入了解这一过程之前,还有其他需要注意的事项或陷阱吗?
Amazon's documentation is surprising lacking in information about the submitting binary process. From what I can tell, you submit an unsigned binary and they wrap it in their own code and produce a signed apk?
This leaves several questions:
- Does the Amazon App Store perform a zipalign for you?
- If you have your app in the Android Market (Google's) already, is it recommended to use the same package name or a different one? Does it make any difference?
- I also saw elsewhere, that they offer the option to download the apk they prepare and sign it with your own key. Is it recommended to take this and then sign it with the same key you are using in the Android Market? Does it make any difference?
Are there any other considerations or pitfalls that one should know before diving into this process?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
是的。 Amazon 使用特定于其应用程序商店的代码包装您的二进制文件,使他们能够收集分析数据并实施 DRM。之后应用程序将被重新打包。
您应该使用相同的包名称。亚马逊分销协议目前有许多附带条件;例如,您的应用程序在其他应用程序商店中的价格并不低。他们还会偶尔检查您的应用程序在市场上的版本是否是最新的。这些检查主要是使用包名称来完成的;更改应用程序的包名称很容易被他们视为规避协议条款的手段。不。人们想要这样做可能有充分的理由,但我想不出。默认情况下,亚马逊会使用特定于您的亚马逊开发者帐户的签名对您的 apk 进行签名。
其他:
阅读此内容。特别是,确保应用程序正确链接到 Amazon 应用程序商店,而不是 Android 市场或其他应用程序。我没有内部数据,但我敢打赌,亚马逊拒绝的绝大多数提交内容都违反了这一要求。
编辑:第2点不再正确;请参阅下面的评论。
Yes. Amazon wraps your binary with code specific to their appstore that allows them to collect analytics data and enforce DRM. The app will be repackaged after that.
You should use the same package name. The Amazon distribution agreement currently has a number of provisos; e.g., that your app is not priced lower on another app store. They also do occasional checks to see whether the version of your app on the market is up to date. These checks are primarily done using the package name; changing the package name of your app could easily be viewed by them as a means to evade the terms of the agreement.No. There may be good reasons why one would want to do this, but none that I can think of. By default, Amazon signs your apk with a signature that is specific to your Amazon developer account.
Other:
Read this. In particular, ensure that the app links correctly to the Amazon app store and not the Android market, or others. I don't have inside data, but I'd wager a fair amount that the vast majority of submissions that Amazon turn down fall afoul of that requirement.
Edit: Point 2 is no longer correct; see comment below.
以下是我从亚马逊移动应用分发团队收到的关于是否提交签名或未签名 apk 的问题的答复:
“您可以向商店提交签名或未签名的二进制文件 - 然后我们将应用我们的无论哪种情况,如果您需要使用已知签名来签署您的应用程序(例如,如果您使用 Facebook 授权),您可以选择使用我们的自签名流程上传您的应用程序(您需要向我们索取此信息)。为您启用)。”
提交应用程序的最直接方法是从 Eclipse 导出签名的 apk(所有对齐的 zip 都已准备就绪),然后使用我们的 DRM 和签名通过分发门户上传。
了解最新更新在我的应用程序中,我刚刚使用了之前发布到 Google Play 的相同签名 apk,并且运行良好。
Here is the reply I received from the amazon mobile app distribution team for a question concerning whether to submit signed or unsigned apk's:
"You can submit signed, or unsigned binaries to the store - we will then apply our signature to your app in either case. If you need to sign your app with a known signature (if you are using Facebook authorization for example) you can choose to upload your app using our self signing process (you will need to ask us for this to be enabled for you)."
The most straight forward way to submit an app is to export your signed apk from Eclipse (all zip aligned are ready to go), then upload via the Distribution Portal using our DRM and signature.
For the latest update of my app I just took the same signed apk I previously released to google play, and it worked well.
我只发布了两个几乎没有销售的小应用程序,但都获得了批准,并且我遵循了与在 Android Market 上发布完全相同的程序:我刚刚从 eclipse 导出签名的 .apk,并且还使用了相同的包名称。到目前为止我还没有遇到任何问题,所以我想还可以。
I have only published two little applications that sell almost nothing, but both got aproved and I followed exactly the same procedure I follow for publishing on the Android Market: I just exported the signed .apk from eclipse and also used the same package name. So far I have no problems, so I guess it's ok.
作为练习,您应该在每次构建期间进行 zipalign 操作。
我在 Amazon 上使用的构建过程与发布到 Google 之前相同。唯一的区别是接口的变量来确定市场链接(在构建时,if/else 被编译出来)。
You should zipalign during every build, as a matter of practice.
I use the same exact build process for Amazon as I do before publishing to Google. Only difference is an Interface's variable to determine the market link (at build time, if/else is compiled out).