73 lines
2 KiB
Groovy
73 lines
2 KiB
Groovy
|
import org.apache.tools.ant.taskdefs.condition.Os
|
||
|
|
||
|
apply plugin: 'com.android.library'
|
||
|
|
||
|
android {
|
||
|
compileSdkVersion 21
|
||
|
buildToolsVersion '21.1.2'
|
||
|
|
||
|
defaultConfig {
|
||
|
minSdkVersion 11
|
||
|
targetSdkVersion 21
|
||
|
versionCode 1
|
||
|
versionName "1.0"
|
||
|
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||
|
}
|
||
|
buildTypes {
|
||
|
release {
|
||
|
minifyEnabled false
|
||
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||
|
}
|
||
|
}
|
||
|
sourceSets.main {
|
||
|
jniLibs.srcDir 'src/main/libs'
|
||
|
jni.srcDirs = []
|
||
|
}
|
||
|
|
||
|
task ndkBuildNative(type: Exec, description: 'NDK building..') {
|
||
|
workingDir file('src/main')
|
||
|
commandLine getNdkBuildCmd() //, '-B', 'NDK_DEBUG=1'
|
||
|
}
|
||
|
|
||
|
task cleanNative(type: Exec, description: 'Clean NDK build') {
|
||
|
workingDir file('src/main')
|
||
|
commandLine getNdkBuildCmd(), 'clean'
|
||
|
}
|
||
|
|
||
|
tasks.withType(JavaCompile) {
|
||
|
compileTask -> compileTask.dependsOn ndkBuildNative
|
||
|
}
|
||
|
|
||
|
clean.dependsOn cleanNative
|
||
|
|
||
|
}
|
||
|
|
||
|
def getNdkFolder() {
|
||
|
Properties properties = new Properties()
|
||
|
properties.load(project.rootProject.file('local.properties').newDataInputStream())
|
||
|
def ndkFolder = properties.getProperty('ndk.dir', null)
|
||
|
if (ndkFolder == null)
|
||
|
throw new GradleException("NDK location missing. Define it with ndk.dir in the local.properties file")
|
||
|
|
||
|
return ndkFolder
|
||
|
}
|
||
|
|
||
|
def getNdkBuildCmd() {
|
||
|
def ndkBuildCmd = getNdkFolder() + "/ndk-build"
|
||
|
if (Os.isFamily(Os.FAMILY_WINDOWS))
|
||
|
ndkBuildCmd += ".cmd"
|
||
|
|
||
|
return ndkBuildCmd
|
||
|
}
|
||
|
|
||
|
dependencies {
|
||
|
compile fileTree(include: ['*.jar'], dir: 'libs')
|
||
|
compile 'com.android.support:appcompat-v7:21.+'
|
||
|
|
||
|
testCompile 'junit:junit:4.12'
|
||
|
androidTestCompile 'junit:junit:4.12'
|
||
|
androidTestCompile 'com.android.support:support-annotations:21.0.0'
|
||
|
androidTestCompile 'com.android.support.test:runner:0.5'
|
||
|
androidTestCompile 'com.android.support.test:rules:0.5'
|
||
|
}
|