Android ndk不同的cflags

时间:2016-08-23 20:41:18

标签: android-gradle ndk-build

我在Android Studio中有3个项目:producer,consumer和lib。

Lib是一个共享的JNI库,我在其中定义了一些行为不同的函数,而其他函数则取决于它们的使用方式。例如:

void function() {
#ifdef PRODUCER
  printf("I'm a producer!\n");
#endif // PRODUCER
#ifdef CONSUMER
  printf("I'm a consumer!\n");
#endif // CONSUMER
}

我希望我的用于lib的gradle.build脚本基本上有两种可能的风格:producer&然后,consumer在其他项目中指定依赖项,如compile project(':lib:producer')或project(':lib:consumer')。这些不同的目标只会在以下方面有所不同:

android {
    defaultConfig {
        ndk {
            cFlag "-DPRODUCER" // or -DCONSUMER
        }
    }
}

这可能吗?

1 个答案:

答案 0 :(得分:1)

原来最好的办法是升级到Android Studio 2.2+,然后使用externalNativeBuild的CMake生成多个库。

相关问题