build.gradle 2.37 KB
Newer Older
1 2 3
apply plugin: 'com.android.library'

android {
4 5
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion
6 7 8

    sourceSets {
    main {
Edward Wang's avatar
Edward Wang committed
9
        jni.srcDirs = [] // Prevent gradle from building native code with ndk; we have our own Makefile for it.
10
        jniLibs.srcDir 'jni/libs' // Where generated .so files are placed.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }
    }

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 21
    }

    buildTypes {
        release {
28
            minifyEnabled false
29 30 31 32
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82

class BuildNative extends Exec {}

tasks.withType(BuildNative){
    /*
    Properties set for Android Studio own shell.
    when you run gradlew from cli, OS shell env variables will be used

    To be able to build from Android Studio, you have to set ndk.dir & sdk.dir
    properties in local.properties in the root folder, like this (for example):
    sdk.dir=/home/<username>/SDK/android-sdk-linux
    ndk.dir=/home/<username>/SDK/android-ndk-r10b
     */
    if (System.getenv('ANDROID_SDK') == null || System.getenv('ANDROID_NDK') == null) {
        Properties properties = new Properties()
        properties.load(project.rootProject.file('local.properties').newDataInputStream())
        environment 'ANDROID_NDK', properties.getProperty('ndk.dir')
        environment 'ANDROID_SDK', properties.getProperty('sdk.dir')
    }
    workingDir '..'
    commandLine './compile-libvlc.sh'
}

task buildDebugARMv5(type:BuildNative) {
    args('-a', "armeabi-v5")
}
task buildDebugARMv6(type:BuildNative) {
    args('-a', "armeabi")
}
task buildDebugARMv6_nofpu(type:BuildNative) {
    args('-a', "armeabi-nofpu")
}
task buildDebugARMv7(type:BuildNative) {
    args('-a', "armeabi-v7a")
}
task buildDebugARM64(type:BuildNative) {
    args('-a', "armeabi-v8a")
}
task buildDebugx86(type:BuildNative) {
    args('-a', "x86")
}
task buildDebugx86_64(type:BuildNative) {
    args('-a', "x86_64")
}
task buildDebugMIPS(type:BuildNative) {
    args('-a', "mips")
}
task buildDebugMIPS64(type:BuildNative) {
    args('-a', "mips64")
}