【问题标题】:Android Binder native service called from Java从 Java 调用的 Android Binder 原生服务
【发布时间】:2016-05-08 11:32:22
【问题描述】:

我创建了一个包含几种事务类型的本机绑定服务。

目前我有客户端的本机代理 (Bp),但我想让 Java 客户端有可能使用我的服务。

基本上,我认为 Bp 应该是 Java。我发现了一些关于 JNI 的东西,但不完整。我需要在 Bn 中使用 JNI?

此外,回调机制(从服务到特定客户端方法的零星事件)应该可用。我已经在本地完成了。

【问题讨论】:

标签: android android-ndk java-native-interface android-binder


【解决方案1】:

这是我的第一个答案......

正如 Cumatru 所说,我也使用了https://github.com/cloudchou/NativeBinderJavaClientDemo

我还没有完全理解整个过程,但至少它是有效的,而且它是一种通过一个非常“简单”的例子向前推进的方式。我处于一个非常基本的 android 级别,所以请耐心等待,并以您喜欢的任何方式帮助改进答案。

似乎有三个部分: 1.一个用c++制作的本地运行的服务器进程。 2. 安卓应用客户端。 3. 一个简单的 java 客户端,将被构建到一个 .jar 文件中。

似乎不需要更改代码,至少对于简单的 java-client 和 c++-server 而言。

  • 构建服务器应用程序并将其推送到您的目标。在 adb shell 中运行它。
  • 构建名为 fclient 的 java 客户端(.jar 文件)并将其推送到 /system/framework/ 中的目标
  • 使用 fclient-script 运行 java-client
  • 将从客户端发送的两个整数相加,并回复给服务器。

希望它也适合你。

【讨论】:

    猜你喜欢
    • 2012-12-22
    • 1970-01-01
    • 2014-10-20
    • 2015-09-16
    • 2016-08-05
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多