Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengecualikan Fail daripada LOCAL_SRC_FILES dalam DSL Gradle NDK?
Soalan:
Bolehkah LOCAL_SRC_FILES ditakrifkan dalam blok NDK Gradle?
Jawapan Asal (Ditamatkan):
Pada masa ini, ciri ini tidak disokong oleh pemalam Gradle. Pertimbangkan untuk menggunakan fail Android.mk tradisional.
Jawapan Kemas Kini:
Dengan keluaran pemalam Gradle 0.4.0, ini kini boleh dilakukan menggunakan corak pengecualian.
android.sources { main { jni.source { srcDirs = ["~/srcs/jni"] exclude "**/win.cpp" } } }
Penyelesaian Alternatif dengan Statik Pustaka:
Untuk mengecualikan fail daripada binaan NDK tanpa menggunakan LOCAL_SRC_FILES, pendekatan berbeza boleh diambil.
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)
Pendekatan ini secara berkesan mengecualikan fail yang ditentukan daripada binaan NDK biasa dan memastikan simbol yang diperlukan tersedia untuk penyahpepijatan.
Nota: Ingat untuk mencetuskan "Bina/Bersihkan" selepas mengubah suai tetapan pengecualian.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengecualikan Fail daripada LOCAL_SRC_FILES dalam DSL Gradle NDK?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!