Android ndk 不同的 cflags
Android ndk different cflags
我在 Android Studio 中有 3 个项目:生产者、消费者和库。
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:生产者')或项目( ':lib:消费者')。这些不同的目标只会在以下方面有所不同:
android {
defaultConfig {
ndk {
cFlag "-DPRODUCER" // or -DCONSUMER
}
}
}
这可能吗?
原来最好的办法是升级到 Android Studio 2.2+,然后使用 externalNativeBuild 的 CMake 生成多个库。
我在 Android Studio 中有 3 个项目:生产者、消费者和库。
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:生产者')或项目( ':lib:消费者')。这些不同的目标只会在以下方面有所不同:
android {
defaultConfig {
ndk {
cFlag "-DPRODUCER" // or -DCONSUMER
}
}
}
这可能吗?
原来最好的办法是升级到 Android Studio 2.2+,然后使用 externalNativeBuild 的 CMake 生成多个库。