def buildAsLibrary = project.hasProperty('BUILD_AS_LIBRARY') def buildAsApplication = !buildAsLibrary if (buildAsApplication) { apply plugin: 'com.android.application' } else { apply plugin: 'com.android.library' } android { compileSdkVersion 32 defaultConfig { if (buildAsApplication) { applicationId "org.diasurgical.devilutionx" } minSdkVersion 18 targetSdkVersion 32 versionCode 22 versionName "1.4.0" externalNativeBuild { cmake { arguments "-DANDROID_STL=c++_static" abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } applicationVariants.all { variant -> tasks["merge${variant.name.capitalize()}Assets"] .dependsOn("externalNativeBuild${variant.name.capitalize()}") } if (!project.hasProperty('EXCLUDE_NATIVE_LIBS')) { sourceSets.main { jniLibs.srcDir 'libs' } externalNativeBuild { cmake { path '../../CMakeLists.txt' version "3.13.0+" } } } if (buildAsLibrary) { libraryVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith(".aar")) { def fileName = "org.diasurgical.devilutionx.aar" output.outputFile = new File(outputFile.parent, fileName) } } } } } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.android.support.constraint:constraint-layout:2.0.4' }