| 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 26 | 
 |     defaultConfig { | 
 |         if (buildAsApplication) { | 
 |             applicationId "org.libsdl.app" | 
 |         } | 
 |         minSdkVersion 16 | 
 |         targetSdkVersion 26 | 
 |         versionCode 1 | 
 |         versionName "1.0" | 
 |         externalNativeBuild { | 
 |             ndkBuild { | 
 |                 arguments "APP_PLATFORM=android-16" | 
 |                 abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' | 
 |             } | 
 |         } | 
 |     } | 
 |     buildTypes { | 
 |         release { | 
 |             minifyEnabled false | 
 |             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | 
 |         } | 
 |     } | 
 |     if (!project.hasProperty('EXCLUDE_NATIVE_LIBS')) { | 
 |         sourceSets.main { | 
 |             jniLibs.srcDir 'libs' | 
 |         } | 
 |         externalNativeBuild { | 
 |             ndkBuild { | 
 |                 path 'jni/Android.mk' | 
 |             } | 
 |         } | 
 |         | 
 |     } | 
 |     lintOptions { | 
 |         abortOnError false | 
 |     } | 
 |      | 
 |     if (buildAsLibrary) { | 
 |         libraryVariants.all { variant -> | 
 |             variant.outputs.each { output -> | 
 |                 def outputFile = output.outputFile | 
 |                 if (outputFile != null && outputFile.name.endsWith(".aar")) { | 
 |                     def fileName = "org.libsdl.app.aar"; | 
 |                     output.outputFile = new File(outputFile.parent, fileName); | 
 |                 } | 
 |             } | 
 |         } | 
 |     } | 
 | } | 
 |  | 
 | dependencies { | 
 |     implementation fileTree(include: ['*.jar'], dir: 'libs') | 
 | } |