努力尝试市场许可服务,我遇到了示例应用程序的一些问题。

当我第一次运行样本时,我会出现一个错误,说该应用程序未获得许可。我将我的帐户链接到模拟器以获取测试响应,现在我遇到了一个错误,说“应用程序错误:not_market_managed”

这是否意味着我必须将应用程序上传到市场才能测试以查看它是否有效?

有帮助吗?

解决方案

是的,您的应用程序必须在市场上,如果已经存在,则必须具有比已经发布的版本代码编号更大或相等的。

其他提示

可能还有另一种方式。对样本主动脉的评论已显示:

 * The first thing you need to do is get your hands on your public key.
 * Update the BASE64_PUBLIC_KEY constant below with your encoded public key,
 * which you can find on the
 * <a href="http://market.android.com/publish/editProfile">Edit Profile</a>
 * page of the Market publisher site.
 * <p>
 * Log in with the same account on your Cupcake (1.5) or higher phone or
 * your FroYo (2.2) emulator with the Google add-ons installed. Change the
 * test response on the Edit Profile page, press Save, and see how this
 * application responds when you check your license.

当您登录时 http://market.android.com/publish/editprofile 您将看到更改的选项 License Test Response:

enter image description here

文字说:

此许可测试响应将使用 @gmail.com或上述已上传到市场的应用程序发送到设备。此外,此帐户(但没有测试帐户)将为尚未上传到市场的应用程序收到此响应。

如果单击该选择列表,您将看到不同的选项:

enter image description here

我想您要做的就是最初的示例LVL教程程序,就是从 Respond normallyLICENSED 或您要测试的任何其他设置。

更新: 事实证明,上述措施不足。我仍然得到 NOT_MARKET_MANAGED 错误。我猜“市场许可示例”必须如前所述所建议的。但是,请注意,它不能是调试版本:

enter image description here

, ,您不能真正上传那个“市场许可示例” 原样. 。您至少必须更改包装的名称:

enter image description here

我可以看到如何改进Google的示例/示例系统,以变得更加友好。

奇怪的。 上传申请(仅上传和保存草稿,不填写任何其他必需字段)之后,“市场许可示例”停止发出 NOT_MARKET_MANAGED 错误,尽管明确选择了 NOT_LICENSED. 。相反,它响应消息 Allow the user access. 。我还尝试设置(用于测试和学习目的) ERROR_SERVER_FAILURE 但是我得到了一样 Allow the user access 信息。

为什么?

您会认为“保存的草稿”就是这样。否则,您将出售一个应用程序,根据定义,该应用程序无法实时测试。

将您的应用程序(.APK)上传到市场。默认状态将是“保存的草稿”,因此公众不会看到它,但您仍然可以测试许可。

另一个潜在的问题:

确保您正在测试/运行的版本具有相同的Android:AndroidManifest.xml中的版本代码,与市场上的草稿版本相同。如果版本有所不同,您将收到一个not_market_managed错误。 (显然,用于许可检查的RSA Keypair是按比例/每次进行的。)

经过一段挣扎之后,我得到了这个工作。您不能按以下情况使用LVL样本。

这是我所做的:

  • 将项目的软件包修改为其他东西(我使用过:lvl.test)
  • 将MainActivity的base64_public_key设置为开发人员控制台配置文件中的一个。
  • 导出签名应用程序
  • 转到开发人员控制台并上传应用程序(创建虚拟图像,并给它一个虚拟名称和描述等。只是为了保存并列为“未发布”)
  • 将导出的应用程序(从文件系统)安装到测试设备(即ADB安装bin/path/to/your.apk)
  • 在您的设备上,打开Android市场转到:设置>帐户>,然后选择与您的开发人员控制台帐户相对应的帐户
  • 现在,您可以在开发人员控制台配置文件中选择静态许可测试响应并保存。当您在设备上运行LVL样本时,响应将与您选择的响应相对应!

根据我的经验,必须在LVL开始工作之前发布该应用程序。静态响应测试。为了我 ERROR_NOT_MARKET_MANAGED 仅在发布后才消失 文档 说你可以 在发布申请之前,调试和测试应用程序的许可实现.

酷零件是 您可以在仅具有alpha/beta构建时发布 - 应用程序不会真正走 居住, ,只有测试帐户才能使用它。

当您准备初次发布时,击中似乎不自然 发布 在您完全确定一切都处于工作状态之前(以及您必须在说明和屏幕截图之前,您可以更令人震惊的是 - 您认为这些是最终的触摸) - 但是您应该应该,只需确保您对包装名称以及该应用程序是付款还是免费的理智选择 - 发布后无法更改这些内容。 出版 独自一人不会公开应用程序;除非你有 生产 构建不必担心意外制作未经测试的版本进行上线。

这是相关的,因此它可能会帮助某人:

我正在测试华硕变压器,不得不删除所有非开发人员帐户以使许可测试进行工作(包括我的Yahoo帐户)。一旦删除了其他帐户,所有的步骤都没有问题。

就我而言,由于版本代码差异为..已经发布了APK的版本代码= 2

在测试发布后,我将版本代码设置为5

这引起了此错误,因为版本差异应确切1,当前已发布的APK。也使用版本名称应用。

如果您已经尝试了上面的所有建议,请尝试以下操作:

我有一段时间的回应,我无法弄清楚为什么是这种情况。我阅读了整个文档 应用许可 并且仍会收到相同的烦人not_market_maned响应代码。

我终于在AndroidManifest.xml文件中更改ApplicationID来解决问题。我从从头开始从一个空白的新项目开始重写一个应用程序。问题是我没有使用确切的正确applicationID。问题在于,Google Play商店上的原始应用程序在上案中使用了一封信,而我在新创建的项目中写下了所有字母。

由于我纠正了匹配100%(包括套管)的应用程序ID,因此我获得了许可服务的预期行为。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top