为 Android 构建 capicxx-core-runtime

Building capicxx-core-runtime for Android

我们正在尝试为基于 ARM 的平台构建 capicxx-core-runtime 运行 Android Pie。它是一个开源 IPC 框架,是主要汽车 OEM 的 GENIVI 计划的一部分。我们的目标是将 IPC 框架引入我们的 Android 系统。

git 仓库放在这里https://github.com/GENIVI/capicxx-core-runtime.git

我正在使用 Android NDK 版本 r17b 并使用以下命令构建基于 cmake 的构建。

cmake -DCMAKE_TOOLCHAIN_FILE=/home/hp/downloads/android-ndk-r17b/build/cmake/android.toolchain.cmake -DANDROID_ABI=arm64-v8a -DANDROID_NATIVE_API_LEVEL=27 ../

当我使用 'make' 编译时,我看到编译了各个 cpp 文件,但在 linking 期间出现以下错误,如 link below.What 是我可能缺少的配置。

Linker error log

capicxx-core-runtime 正在构建一个共享库,因此您需要解析它的所有内部符号,包括 c++ 运行时。

要快速测试:将 capicxx-core-runtime CMakeLists.txt 编辑为 link c++_shared 运行时,第 130 行:

target_link_libraries(CommonAPI PRIVATE ${DL_LIBRARY} ${DLT_LIBRARIES})

变成

target_link_libraries(CommonAPI PRIVATE ${DL_LIBRARY} ${DLT_LIBRARIES} c++_shared)

并重新运行您的 cmake 命令和 make 命令。

似乎 capicxx-core-runtime 现在可以为 Android(NDK 和 AOSP)开箱即用,请查看相应的拉取请求:https://github.com/GENIVI/capicxx-core-runtime/pulls?q=author%3Ankh-lab+

这里还有一个简单的示例,用于 AndroidStudio 如何与 vSOME/IP 传输一起使用:https://github.com/nkh-lab/ndk-capi-hello-world