Ошибка сборки Android Binder — ошибка: неопределенная ссылка на ‘android :: defaultServiceManager ()

#android-ndk #linker-errors

#android-ndk #компоновщик-ошибки

Вопрос:

Нужна ваша поддержка, чтобы решить мою проблему по созданию образца программы «HelloWorldService» с помощью binder.

При сборке с использованием make я получаю следующие ошибки.

 target Executable: helloworldclient (out/target/product/pandaboard/obj/EXECUTABLES/helloworldclient_intermediates/LINKED/helloworldclient)
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/pandaboard/obj/lib/libhelloworldservice.so: error: undefined reference to 'android::BBinder::BBinder()'
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/pandaboard/obj/lib/libhelloworldservice.so: error: undefined reference to 'android::Parcel::enforceInterface(android::String16 constamp;, android::IPCThreadState*) const'
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/pandaboard/obj/lib/libhelloworldservice.so: error: undefined reference to 'android::Parcel::readCString() const'
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/pandaboard/obj/lib/libhelloworldservice.so: error: undefined reference to 'android::Parcel::writeCString(char const*)'
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/pandaboard/obj/EXECUTABLES/helloworldclient_intermediates/main_helloworldclient.o: in function main:packages/apps/HelloWorldService/helloworldclient/main_helloworldclient.cpp:24: error: undefined reference to 'android::defaultServiceManager()'
collect2: ld returned 1 exit status
make: *** [out/target/product/pandaboard/obj/EXECUTABLES/helloworldclient_intermediates/LINKED/helloworldclient] Error 1
  

Пожалуйста, помогите мне исправить эту проблему, дайте мне знать, если требуется подробная информация.

Ответ №1:

Я нашел исправление ошибки сборки.

Добавлена запись общей библиотеки binder в мой Android.mk файл

«LOCAL_SHARED_LIBRARIES = libbinder«

Возможность сборки без каких-либо ошибок.