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 для создания нескольких библиотек.

Другие вопросы по тегам