在 Android Studio 应用程序中包含 LVL Google 许可

Include LVL Google Licensing in Android Studio App

我按照此处的说明进行操作 http://developer.android.com/google/play/licensing/setting-up.html#add-library

特别是说“作为将 LVL 添加为库项目的替代方法,您可以将库源直接复制到您的应用程序中。为此,复制(或导入)LVL 的 library/src/com目录到应用程序的 src/ 目录中。

如果您将 LVL 源直接添加到您的应用程序,则可以跳过下一节并开始使用该库,如将许可添加到您的应用程序中所述。“

com 文件夹显示在 src 下,但是当我去添加导入时,它以红色突出显示“vending”并显示 'symbol cannot be resolved'。我直接从上面列出的网页复制了导入语句。你你会注意到我手动将 .utils 添加到第一个导入中,认为路径可能不完整。

我错过了什么?

格雷格

编辑 我又读了几篇文章 "solutions" 但对我不起作用。啊!我已经在这里待了 4 个小时,而且我离开始时还差得远。我曾多次尝试将文件夹复制到我的项目中,从许可源文件的不同文件夹级别开始。每次'vending'都是未知符号。

我尝试导入该库,但结果很糟糕。 'vending' 仍然变红,但现在 'ActionBarActivity' 也变红了,我无法同步 gradel。然后 AS 强迫我下载新版本的 SDK Build-Tools。我认为是 19.1。那没有解决任何问题。我撤消了所有更改,然后回到了开始的地方。

在查看示例项目时,我注意到源文件的结构非常不同,我不知道如何将许可库添加到我的项目中,因此它看起来像示例。

EDIT2:我阅读了这篇针对 AS 而不是 Eclipse 的文章 (http://www.codeproject.com/Tips/607552/How-to-add-external-library-file-in-Android-Studio)。也就是说将文件添加到 lib 文件夹中。然后我要右键单击它们并选择 "Add as library"。遗憾的是,添加为库在 AS 1.0.2 中不是一个选项。然而,这确实使 'vending' 被识别为一个符号,但现在 'LicenseChecker' 和 'LicenseCheckerCallback' 不被识别。

我认为这可能是进步,但我不认为我会直接赠送该应用程序而不是尝试为此收取 99 美分。如果不是因为这个,我今天可以发表。

EDIT3:Setting Up the Licensing Verification Library on Android Studio同样的问题,但没有用。疯狂的沮丧!

道歉:

  • 不幸的是,这不是问题的答案。
  • 但是,我提到了以下内容,这样您就不会觉得自己在用头撞应该工作但显然不是.

FWIW:我相信您遵循的步骤大体上是正确的。我一直(曾经)成功使用 LVL,直到 ADK API 22 发布时 "something broke"。从那时起,即使我没有做任何更改,我也会收到相同的 "Error contacting licensing server" 超时错误。更新 LVL 项目前后同样的问题。

~~

顺便说一句,我相当确定 Android QA 最近没有 using/testing LVL 库。

更具体地说,Lollipop 上的 LVL。

LVL 库包含一个错误,该错误在使用时会立即使应用程序崩溃 - 抛出有关显式指令的运行时异常。 它尝试使用非显式意图绑定到自动售货服务。 Lollipop 不再允许这样做。

特别是,./src/com/google/android/vending/licensing/LicenseChecker.java(大约第 130 行)

此错误至少从 2014 年 9 月开始就存在于 API L 预览版中。

~~

我有一个解决该错误的方法来明确意图。它一直运行良好,直到 API 22 发布时服务器连接失败。

有人可能想知道,在 Lollipop Preview 发布之前,更不用说在六个月内以及此后的 ADK API 版本中,像许可证验证这样重要的东西究竟是如何逃过 QA 测试的。

如果 LVL 库本身被忽略了,那么 LVL 服务器也不太可能没有受到关注,并且连接失败可能是由于不兼容或 LVL 中的其他内容无法正常工作。

~~

目前,我已禁用 LVL。

非常 不幸,因为我需要它来查询无法安装的扩展包 URL when/if。由于网络问题等原因,大约有 1% 的时间会发生这种情况。没什么大不了的,但 LVL 是我们获取 URL 以处理重新下载扩展包的地方。

~~

因此,我将对此进行进一步调查,如果发现解决方案,我将post。

~~

[编辑]

看起来有人让它工作了:(但是,我仍然 'error contacting licensing server' 超时)