Я добавил модуль в каталог framework / av /
Код может быть построен, когда Android.mk
заканчивается строкой
include $(BUILD_STATIC_LIBRARY)
.
Однако, поскольку мне нужен файл общей библиотеки (скажем, abcd.so), я изменил эту строку на
include $(BUILD_SHARED_LIBRARY)
Затем я получил ошибки, относящиеся к некоторым неопределенным ссылочным ошибкам.
Мне здесь нужно было что-то менять?
Благодарность
out/target/product/abcd/obj/SHARED_LIBRARIES/libudev_intermediates/libudev.o: in function udev_new:frameworks/av/libudev/libudev.c:195: error: undefined reference to 'secure_getenv'
target
Symbolic: libcutils (out/target/product/abcd/symbols/system/lib/libcutils.so)
collect2: ld returned 1 exit status
make: *** [out/target/product/abcd/obj/SHARED_LIBRARIES/libudev_intermediates/LINKED/libudev.so] Error 1
make: *** Waiting for unfinished jobs....
1 ответ
В системе Android есть много других модулей, которые зависят от модуля static av . Я предлагаю вам создать как статическую библиотеку, так и общую библиотеку. Даже если вы делаете общую библиотеку, вы должны позаботиться о зависимости. Эти изменения могут привести к другим проблемам.
И коды выглядят так:
include $(BUILD_STATIC_LIBRARY)
#appending this line for shared library
LOCAL_MODULE := xxx_shared
include $(BUILD_SHARED_LIBRARY)
Похожие вопросы
Новые вопросы
android
Android - это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфоны, планшеты, автомобили, телевизоры, одежда, стекло, IoT). Для тем, связанных с Android, используйте специальные теги Android, такие как android-intent, android-activity, android-адаптер и т. Д. Для вопросов, не связанных с разработкой или программированием, но связанных с платформой Android, используйте эту ссылку: https: // android.stackexchange.com .