Я сделал некоторые изменения в AOSP
код и скомпилировал его. Теперь я хочу добавить созданный libstagefright.so
в моем заявлении.
В Android.mk
я добавляю как LOCAL_SRC_FILES
скомпилированный libstagefright.so
библиотека с путем.
Вот оно
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libstagefright LOCAL_SRC_FILES := ./Source/out/target/product/generic/system/lib/libstagefright.so include $(PREBUILT_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := example LOCAL_SRC_FILES := example.cpp LOCAL_LDLIBS := -llog-landroid LOCAL_SHARED_LIBRARIES := libstagefright include $(BUILD_SHARED_LIBRARY)
Когда я собираю и запускаю программу, я не вижу никаких изменений в библиотеке. В чем проблема, что я не вижу никаких изменений?
Заранее спасибо.
Вместо libstagefright.so
, вы можете собрать AOSP-производную библиотеку как libmybetterstagefrght.so
и использовать его в своем приложении вместо stagefright
, Вы можете поместить свою библиотеку в свой libs
папка, как и любая другая библиотека. Вам не нужен рут для этого.
Обратите внимание, что библиотека, которую вы создаете, будет по-прежнему подключаться ко многим OMX и другим двоичным файлам в /system/lib
, поэтому все интерфейсы должны быть сохранены. Возможно, вы захотите начать с ревизии AOSP, которая соответствует системному уровню вашего устройства. Вы можете столкнуться с проблемами совместимости, если устройство использует настроенный Android — для достижения наилучших результатов используйте устройство Nexus.
Других решений пока нет …