Frage:
Können LOCAL_SRC_FILES innerhalb eines NDK-DSL-Blocks definiert werden? Gradle?
Ursprüngliche Antwort (veraltet):
Derzeit wird diese Funktion vom Gradle-Plugin nicht unterstützt. Erwägen Sie die Verwendung der herkömmlichen Android.mk-Datei.
Aktualisierte Antwort:
Mit der Veröffentlichung des Gradle-Plugins 0.4.0 ist dies jetzt mithilfe von Ausschlussmustern möglich.
android.sources { main { jni.source { srcDirs = ["~/srcs/jni"] exclude "**/win.cpp" } } }
Alternative Lösung mit statischer Bibliothek:
Um Dateien auszuschließen Bei NDK-Builds ohne Verwendung von LOCAL_SRC_FILES kann ein anderer Ansatz gewählt werden.
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)
Dieser Ansatz schließt die angegebenen Dateien effektiv von regulären NDK-Builds aus und stellt sicher, dass die erforderlichen Symbole zum Debuggen verfügbar sind.
Hinweis: Denken Sie daran, nach der Änderung der Ausschlusseinstellungen einen „Build/Clean“ auszulösen.
Das obige ist der detaillierte Inhalt vonWie kann ich Dateien von LOCAL_SRC_FILES im NDK Gradle DSL ausschließen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!