1

我知道并尝试过在 android 中创建系统服务,如下所述:http: //processors.wiki.ti.com/index.php/Android-Adding_SystemService

问题是关于如何使用放置在包含服务实现的框架中的第三方 jar。提供了 AIDL 文件,这些文件公开了服务的功能。

我的问题是,在构建源代码后,如何从第三方应用程序绑定到服务,在源代码树中提供以下内容:

(1)jar - Linux/android/vendor/companyname/libs/frameworks

(2)AIDL - Linux/android/frameworks/base/core/java/ny/co/companyname/bluetooth/api

如果需要对上述内容进行任何澄清,请告诉我。

任何帮助深表感谢

PS:

为了测试,我们使用 lib(jar) 和 AIDL 作为 android 应用程序的一部分,通过观察onServiceConnected回调内部的日志,我们可以看到使用 bindservice 正确绑定了服务。

4

1 回答 1

1

为了使服务正常工作,必须在 R.java 文件中生成存根。

现在在这里(可能是因为 ADT 错误),为了在 R.java 文件中生成存根定义,您必须将 AIDL 文件保存在您的 src 文件夹中,并使用相同的命名包。

在您的情况下,在项目的 src 文件夹中,创建一个包

Linux/android/frameworks/base/core/java/ny/co/companyname/bluetooth/api

并将您的 AIDL 文件放入其中。

你可能会遇到命运。:)

于 2012-12-03T13:16:40.130 回答