|
@@ -1,10 +1,19 @@
|
|
|
-apply plugin: 'com.android.application'
|
|
|
+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 16
|
|
|
buildToolsVersion "26.0.1"
|
|
|
defaultConfig {
|
|
|
- applicationId "org.libsdl.app"
|
|
|
+ if (buildAsApplication) {
|
|
|
+ applicationId "org.libsdl.app"
|
|
|
+ }
|
|
|
minSdkVersion 14
|
|
|
targetSdkVersion 16
|
|
|
versionCode 1
|
|
@@ -22,17 +31,32 @@ android {
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
|
}
|
|
|
}
|
|
|
- sourceSets.main {
|
|
|
- jniLibs.srcDir 'libs'
|
|
|
- }
|
|
|
- externalNativeBuild {
|
|
|
- ndkBuild {
|
|
|
- path 'jni/Android.mk'
|
|
|
+ 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 {
|
|
@@ -41,4 +65,4 @@ dependencies {
|
|
|
exclude group: 'com.android.support', module: 'support-annotations'
|
|
|
})
|
|
|
testCompile 'junit:junit:4.12'
|
|
|
-}
|
|
|
+}
|