Maison >développement back-end >C++ >Comment puis-je exclure des fichiers de LOCAL_SRC_FILES dans le NDK Gradle DSL ?
Question :
LOCAL_SRC_FILES peut-il être défini dans un bloc NDK DSL dans Gradle ?
Réponse originale (obsolète) :
Actuellement, cette fonctionnalité n'est pas prise en charge par le plugin Gradle. Pensez à utiliser le fichier Android.mk traditionnel.
Réponse mise à jour :
Avec la sortie du plugin Gradle 0.4.0, cela est désormais possible en utilisant des modèles d'exclusion.
android.sources { main { jni.source { srcDirs = ["~/srcs/jni"] exclude "**/win.cpp" } } }
Solution alternative avec bibliothèque statique :
Pour exclure les fichiers des builds NDK sans utiliser LOCAL_SRC_FILES, une approche différente peut être adoptée.
model { android.ndk { moduleName = "hello-jni" abiFilters += "$appAbi".toString() ldFlags += "$staticLib".toString() ldLibs += "log" cppFlags += "-std=c++11" } }
LOCAL_MODULE := staticLib LOCAL_SRC_FILES := HelloJni.cpp LOCAL_CPPFLAGS += -std=c++11 include $(BUILD_STATIC_LIBRARY)
Cette approche exclut efficacement les fichiers spécifiés des versions NDK standard et garantit que les symboles nécessaires sont disponibles pour le débogage.
Remarque : Pensez à déclencher un "Build/Clean" après avoir modifié les paramètres d'exclusion.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!