PAYATHON 2026

如何在 Eclipse 中集成 Android Billing Library?

数据小陈

明确结论

这个 ZIP 不能直接放进 libs/。它不是 JAR,而是包含源码的 Android Library Project。需要先把库项目导入 Eclipse,再通过 ADT 的 Library 功能关联到应用项目。

导入库项目

解压下载的 ZIP,找到包含以下内容的目录:

AndroidManifest.xml
src/
res/
project.properties

如果仓库里有多个项目,应导入实际的 Library 目录,不要选择示例应用或仓库最外层目录。

在 Eclipse 中按以下步骤操作:

  1. 选择 File → Import。
  2. 如果目录中有 .project 文件,选择: General → Existing Projects into Workspace。
  3. 如果 Eclipse 无法识别该项目,选择: Android → Existing Android Code Into Workspace。
  4. 选择解压后的库目录,完成导入。

导入后,右键单击库项目,打开:

Properties → Android

确认已经勾选 Is Library。如果没有,请手动勾选并保存。

将库关联到应用项目

右键单击自己的 Android 应用项目,选择:

Properties → Android

在页面下方的 Library 区域中:

  1. 点击 Add。
  2. 选择刚导入的 Android Billing Library 项目。
  3. 点击 Apply 或 OK。

ADT 通常会在应用项目的 project.properties 中生成类似配置:

android.library.reference.1=../AndroidBillingLibrary

最好通过 Eclipse 界面添加引用,不要先手动修改路径。这里使用的是相对于应用项目目录的路径,移动项目后可能失效。

验证是否集成成功

在应用代码中尝试导入库中的一个公开类。实际包名应以源码里的 package 声明为准,例如:

import com.robotmedia.billing.BillingController;

如果 Eclipse 能够解析该类,编译时也没有出现 The import ... cannot be resolved,说明源码引用已经生效。

然后执行:

Project → Clean

清理并重新构建库项目和应用项目。如果仍有红色错误,请检查两个项目选择的 Android Build Target 是否可用,并确认它们相互兼容。

为什么不能直接复制 ZIP 或 classes

ZIP 只是 GitHub 提供的源码压缩包,不是 Android 构建系统可以直接引用的依赖格式。Android Library Project 除了 Java 类,还可能包含:

  • res/ 下的资源
  • AndroidManifest.xml 中的组件声明
  • 编译配置
  • 其他依赖项

如果只把 src/、.class 文件或整个 ZIP 复制到 libs/,资源、Manifest 配置或依赖可能会缺失。

Manifest 和依赖检查

关联库项目后,还要查看它的 README、示例项目和 AndroidManifest.xml。计费功能通常涉及权限以及 Activity、Service、BroadcastReceiver 等组件配置。不同版本的旧版 Eclipse/ADT 对 Manifest 合并的支持并不一致,不能认定库 Manifest 中的所有声明都会自动合并到应用中。

如果项目能够编译,但运行时提示组件未注册或权限不足,请对照库项目与示例应用的 Manifest,把必需的配置加入应用的 AndroidManifest.xml。不要直接照搬示例中的包名、测试配置或无关组件。

注意事项

这个仓库采用的是较早期的 Eclipse/ADT Android 工程体系。Google Play 的计费接口后来经过多次升级,所以项目能够导入和编译,并不代表它仍符合当前 Google Play 的发布要求。

维护历史项目时,可以按上述方式集成。如果要发布新应用,应先确认仓库使用的计费协议是否仍受支持。现代 Android 项目通常使用 Android Studio、Gradle 和当前受支持的 Google Play Billing Library,不再依赖旧式的 Eclipse Library Project。

备注:内容仅供参考。