2

我正在编写一个 SDK,它定义了一个远程服务并为 3rd 方开发人员提供了一个 AIDL 接口。对于我的测试,我将 SDK 安装为 Android 应用程序 (XYZService.apk),尽管它只是一个后台服务(在客户端绑定到它之前不会启动)并且没有定义活动。我还将我的测试客户端应用程序安装为第二个应用程序 (TestClient.apk)。TestClient 应用程序具有活动,并在启动时绑定到 XYZService 并启动它。

但我很困惑我应该如何为第 3 方开发人员打包这个 SDK。假设第 3 方开发人员编写了一个新客户端 ClientFoo.apk。他们如何向通过 Google Play 下载 ClientFoo.apk 的用户提供 XYZService.apk。我是否必须通过 Goolge Play 使 XYZService.apk 可用?有什么方法可以让第 3 方开发人员将 XYZService 与他们的 .apk 文件一起打包?

我可以向第 3 方开发人员提供 JAR 文件吗?基本上,为我的远程服务提供一个 JAR 对我来说是一个不错的解决方案。

非常感谢你的回答。我是 Android 开发的新手。

4

1 回答 1

0

我是否必须通过 Goolge Play 使 XYZService.apk 可用?

你必须以某种方式分发它。APK 文件不会神奇地出现在用户的设备上。是否使用 Google Play 或其他分发机制取决于您。

有什么方法可以让第 3 方开发人员将 XYZService 与他们的 .apk 文件一起打包?

是的,通过摆脱 APK、摆脱 AIDL 并将您的 SDK 实现为 JAR 或 Android 库项目。将可重用代码作为 JAR 分发已在基于 Java 的开发中使用了大约 15 年。

如果您正在分发自己的应用程序,用户需要独立于其他任何东西,并且您希望允许第三方访问您的应用程序公开的服务,则您使用 AIDL 和 APK。如果您没有这样的应用程序,或者不希望用户必须安装单独的应用程序,您应该提供一个 JAR 或 Android 库项目,以便您的代码被烘焙到第三方的应用程序中。

我可以向第 3 方开发人员提供 JAR 文件吗

您可以将您的 SDK 实现为 JAR,只要它不需要资源——然后,您需要将其作为 Android 库项目分发。

于 2012-08-18T00:39:24.940 回答