Android ндк разные флаги
У меня есть 3 проекта в Android Studio: продюсер, потребитель и библиотека.
Lib - это общая библиотека JNI, в которой я определяю несколько функций, которые будут вести себя по-разному, а другие - в зависимости от того, как они используются. Например:
void function() {
#ifdef PRODUCER
printf("I'm a producer!\n");
#endif // PRODUCER
#ifdef CONSUMER
printf("I'm a consumer!\n");
#endif // CONSUMER
}
Мне бы хотелось, чтобы мой скрипт gradle.build для lib в основном имел два возможных варианта: производитель и потребитель, а затем указывал зависимость в других проектах, таких как проект компиляции (':lib: seller') или проект (':: lib:consumer'), Эти разные цели будут отличаться только в следующем:
android {
defaultConfig {
ndk {
cFlag "-DPRODUCER" // or -DCONSUMER
}
}
}
Это возможно?
1 ответ
Решение
Оказалось, что лучше всего выполнить обновление до Android Studio 2.2+, а затем использовать CMake externalNativeBuild для создания нескольких библиотек.