You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

107 lines
3.3 KiB

apply plugin: 'com.android.library'
import com.android.builder.core.DefaultManifestParser
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
sourceSets {
main {
jni.srcDirs = [] // Prevent gradle from building native code with ndk; we have our own Makefile for it.
jniLibs.srcDirs = [ 'jni/libs', 'jni/loader/libs', 'private_libs/libs' ] // Where generated .so files are placed.
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets' ]
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
// Make per-variant version code
libraryVariants.all { variant ->
def manifestParser = new DefaultManifestParser(android.sourceSets.main.manifest.srcFile)
// get the version code of each flavor
def vlcVersion = manifestParser.getVersionName()
manifestParser = new DefaultManifestParser(file('../vlc-android/AndroidManifest.xml'))
def androidVersion = manifestParser.getVersionName()
//Custom APK name
variant.outputs.all { output ->
if (outputFileName != null && outputFileName.endsWith('.aar')) {
outputFileName = "libvlc-${vlcVersion}-${androidVersion}.aar"
}
}
}
buildToolsVersion '26.0.2'
}
/*
* Include GDB files into apk
*/
//afterEvaluate {
// Sync packageTask = project.getTasks().findByName("packageReleaseJniLibs")
// packageTask.include(['**/gdbserver', '**/gdb.setup'])
//}
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 buildDebugARMv7(type:BuildNative) {
args('-a', "armeabi-v7a")
}
task buildDebugARM64(type:BuildNative) {
args('-a', "arm64-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")
}
task generateSources (type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.srcDirs
}
clean {
delete 'build', 'jni/libs', 'jni/obj'
}
dependencies {
api "com.android.support:support-annotations:$rootProject.ext.appCompatVersion"
}