1apply plugin: 'com.android.model.native' 2 3Properties properties = new Properties() 4properties.load(project.rootProject.file('local.properties').newDataInputStream()) 5def ndkDir = properties.getProperty('ndk.dir') 6 7model { 8 android { 9 compileSdkVersion = 23 10 buildToolsVersion = "23.0.2" 11 12 defaultConfig.with { 13 minSdkVersion.apiLevel = 22 14 targetSdkVersion.apiLevel = 24 15 versionCode = 1 16 versionName = "0.0.1" 17 } 18 } 19 20 android.ndk { 21 moduleName = "VkLayer_${project.name}" 22 toolchain = "clang" 23 stl = "gnustl_static" 24 ldLibs.addAll(["log", "android"]) 25 cppFlags.addAll(["-std=c++11", "-DVK_PROTOTYPES", "-Wall", "-Werror", 26 "-Wno-unused-function", "-Wno-unused-const-variable", 27 "-DVK_USE_PLATFORM_ANDROID_KHR"]) 28 cppFlags.addAll(["-I${file("../../../../layers")}".toString(), 29 "-I${file("../../../../include")}".toString(), 30 "-I${file("../../../../loader")}".toString(), 31 "-I${file("../../include")}".toString(), 32 "-I${file("../../../../../glslang")}".toString()]) 33 } 34 35 // Turn on hard float support in armeabi-v7a 36 android.abis { 37 create("armeabi-v7a") { 38 cppFlags.addAll(["-mhard-float", "-D_NDK_MATH_NO_SOFTFP=1", "-mfloat-abi=hard"]) 39 ldLibs.add("m_hard") 40 ldFlags.add("-Wl,--no-warn-mismatch") 41 } 42 } 43 44 android.sources { 45 main { 46 jni { 47 source { 48 srcDir "../../layer-src/${project.name}" 49 srcDir '../../common' 50 51 } 52 } 53 } 54 } 55 56 android.buildTypes { 57 release { 58 ndk.with { 59 debuggable = true 60 } 61 minifyEnabled = false 62 } 63 } 64 android.productFlavors { 65 create ("all") { 66 ndk.abiFilters.addAll(["armeabi-v7a", 'arm64-v8a', 67 'x86', 'x86_64']) 68 } 69 } 70} 71 72