Android 最新安卓NDK(r21c)和#x27;s libbinder_ndk缺少几个导出的API

Android 最新安卓NDK(r21c)和#x27;s libbinder_ndk缺少几个导出的API,android,android-ndk,native,android-binder,Android,Android Ndk,Native,Android Binder,我对使用binder的NDK实现提供的API感兴趣,libbinder\u NDK 可在此处和AOSP树中找到此操作的源,网址为: $SDK/frameworks/native/libs/binder/ndk/ 但是,与捆绑的libbinder\u ndk.so并没有导出所有这些API。很多都是,但是get/addservices端点不可用。API29的libbinder\u ndk.so可在以下位置找到: $NDK/platforms/android-29/$PLAT/usr/lib/lib

我对使用binder的NDK实现提供的API感兴趣,
libbinder\u NDK

可在此处和AOSP树中找到此操作的源,网址为:

$SDK/frameworks/native/libs/binder/ndk/
但是,与捆绑的
libbinder\u ndk.so
并没有导出所有这些API。很多都是,但是get/addservices端点不可用。API29的
libbinder\u ndk.so
可在以下位置找到:

$NDK/platforms/android-29/$PLAT/usr/lib/libbinder_ndk.so
以及每个相应工具链的sysroot目录,但仅适用于API29

$NDK/toolchains/llvm/prebuilt/$HOST/sysroot/usr/lib/$PLAT/29/libbinder_ndk.so
但是,如果您为同一版本构建AOSP树,则符号当然可用:

$ readelf --wide -s libbinder_ndk.so  | grep AService
   180: 000000000000e148   256 FUNC    GLOBAL DEFAULT   15 AServiceManager_addService@@LIBBINDER_NDK
   181: 000000000000e248   244 FUNC    GLOBAL DEFAULT   15 AServiceManager_checkService@@LIBBINDER_NDK
   224: 000000000000e33c   244 FUNC    GLOBAL DEFAULT   15 AServiceManager_getService@@LIBBINDER_NDK
事实上,a不会返回这些api的结果,而是根据记录返回源


我错过什么了吗

未导出它们的原因是它们不是应用程序API界面的一部分。它们适用于供应商和APEX模块。这些域没有与应用程序相同的API永久性保证(阅读:它们可能会在任何给定版本中消失)。

它们不导出的原因是它们不是应用程序API表面的一部分。它们适用于供应商和APEX模块。这些域没有与应用程序相同的API永久性保证(阅读:它们可能会在任何给定的版本中消失)。

回答下面的问题,但您实际上想做什么?@DanAlbert没有明确要求从
libbinder\u ndk
中获得任何内容。我只想连接到一个服务,并用它进行交易。你可以从C++中做这个,但是 LibdunrEndNK提供了一个C语言API(只是包了C++接口),看起来对工作很好。下面回答你的问题,但是你到底想做什么?@达纳伯特没有明确要求从代码> Libduner-Nordk < /Cord>。我只想连接到一个服务,并用它进行交易。你可以从C++中做这个,但是 LibdunrdNordk< /Cord>提供了一个C语言API(它只是包裹了C++接口),看起来很不错。对于它的价值,当我有同样的问题时,我提出了这个问题(也)得到了一个上游回复:看起来这个bug正在等待你的反馈,BTW.它是值得的,当我有同样的问题,我提出了这个问题,这(也)得到了一个上游的答复:看起来该漏洞正在等待您的反馈,顺便说一句。