Intereting Posts
Элементы Listview удаляют растровые изображения из памяти, когда пользователь прокручивает Как добавить значок для прокручиваемых вкладок Android: java.land.NoSuchFieldError после обновления до SDK 23 Как установить ту же высоту в RelativeLayout? Как сделать Textview кликабельным, чтобы он открывал URL-адрес в веб-браузере Android Intent.ACTION_VIEW Еще раз получив java.lang.NoClassDefFoundError: android.support.v7.internal.view.menu.i после обновления в Инструменты поддержки 23 Android: воспроизведение аудиоклипа onClick Android data.getData () возвращает null из CameraActivity для некоторых телефонов Если AsyncTask не является внутренним классом … – некоторые вопросы Обработка onActivityResult извне деятельности Android: сделайте прокручиваемое пользовательское представление Камера в приложении phonegap. Перезагрузка приложения Android DownloadManager API – открытие файла после загрузки? Как щелкнуть представление программы Android через MonkeyRunner?

Разница между LOCAL_EXPORT_C_INCLUDES и LOCAL_C_INCLUDES

Кто-нибудь, пожалуйста, объясните, в чем разница между LOCAL_EXPORT_C_INCLUDES и LOCAL_C_INCLUDES в mk file android mk file .

Если модуль добавляет пути к LOCAL_EXPORT_C_INCLUDES , эти пути будут добавлены к LOCAL_C_INCLUDES определению другого модуля, который использует этот LOCAL_STATIC_LIBRARIES с LOCAL_STATIC_LIBRARIES или LOCAL_SHARED_LIBRARIES .

Рассмотрим, что у нас есть 2 модуля, например foo и bar, а следующая – древовидная структура.

 . |-- Android.mk |-- bar | |-- bar.c | |-- bar.h |-- foo |-- foo.c `-- foo.h 

Bar использует foo как статическую библиотеку. Поскольку bar.c необходимо будет включить foo.h, модуль foo должен добавить include путь к LOCAL_EXPORT_C_INCLUDES . Если бар не используется никаким модулем, он может добавить путь включения в LOCAL_C_INCLUDES .

Android.mk будет выглядеть так:

 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := foo LOCAL_SRC_FILES := foo/foo.c LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/foo include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := bar LOCAL_SRC_FILES := bar/bar.c LOCAL_C_INCLUDES := $(LOCAL_PATH)/bar LOCAL_STATIC_LIBRARIES := foo include $(BUILD_SHARED_LIBRARY) 

Пожалуйста, посмотрите пример, приведенный в каталоге примеров android-ndk-r9d/samples/module-exports : android-ndk-r9d/samples/module-exports