2016-08-23 1 views
1

J'ai 3 projets dans Android Studio: producteur, consommateur et lib.Android ndk différents cflags

Lib est une bibliothèque JNI partagée où je définis quelques fonctions à se comporter différemment tandis que d'autres les mêmes selon la façon dont ils sont utilisés. Par exemple:

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

Je voudrais mon script gradle.build pour lib avoir essentiellement deux saveurs potentielles: producteur & consommateur Indiquez ensuite une dépendance dans les autres projets comme projet de compilation (': lib: producteur) ou projet (': lib: consumer'). Ces différentes cibles ne peuvent varier que de la façon suivante:

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

Est-ce possible?

Répondre

1

Transforme la meilleure chose à faire ici est mise à jour Android 2.2+ studio puis utilisez CMake du externalNativeBuild pour générer plusieurs bibliothèques.