android libbinder.so,无法在Android Ndk中构建本地共享库
时间: 2024-03-16 09:46:44 浏览: 21
这个问题可能是因为您的 NDK 版本不匹配所导致的。如果您使用的是 NDK r17c 或更高版本,则应该可以构建本地共享库,因为这些版本已经包含了 Binder 库。如果您使用的是较旧版本的 NDK,则需要手动将 Binder 库添加到您的项目中。
您可以按照以下步骤操作:
1. 在您的 Android 项目中创建一个 jniLibs 文件夹。该文件夹应该位于您的项目的 /src/main/ 目录下。
2. 下载您的 Android 设备使用的 Binder 库。您可以从您的设备上复制 /system/lib/libbinder.so 文件,或从 Android 源代码中下载。如果您从 Android 源代码中下载,请确保您下载的是与您的设备相对应的版本。
3. 将 libbinder.so 文件复制到您的 jniLibs 目录下。
4. 在您的 CMakeList.txt 文件中,添加以下内容:
```
add_library(binder SHARED IMPORTED)
set_target_properties(binder
PROPERTIES IMPORTED_LOCATION
${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libbinder.so)
```
5. 在您的本地代码中,使用以下命令链接 Binder 库:
```
LOCAL_SHARED_LIBRARIES := binder
```
通过以上步骤,您应该就可以在 Android NDK 中构建本地共享库并使用 Binder 库了。