我想从我自己的应用程序中调用安卓源代码中的com_android_bluetooth_hid.cpp提供的功能。目标安卓版本是>=4.4和<=5.x。我理解JNI,可以编译我自己的代码并从我自己的应用程序中调用。
从我的应用程序中可以调用android的库吗?多么
另外,要调用特定cpp文件中的函数,是否需要蓝牙和BLUETOOTH_ADMIN权限,还是需要其他权限(其他权限或根权限)?
发布于 2015-10-06 08:39:13
调用Android的CPP代码最干净的方法通常是将相关代码复制到存储库中,并作为应用程序的一部分进行构建。按照这种方法,应用程序将只调用公共APIs - Java或C/C++。
但是,在代码必须以特殊权限运行的情况下,这可能与系统服务无关,如媒体服务器或蓝牙堆栈。
我担心您希望运行的代码属于第二个类别,因此所有可用的技巧都不会有帮助。
另一方面,自定义ROM可能是您正在寻找的解决方案。这可能会发生,你不需要伪造一个完整的系统。使用根设备并将蓝牙服务替换为自定义设备可能就足够了。
我仍然建议您为服务提供缺失的回调,而不是直接从应用程序调用函数:最好不要在用户空间应用程序和系统服务之间混合上下文。
https://stackoverflow.com/questions/32962256
复制相似问题