// Project information buildDir = 'bin' buildscript { repositories { jcenter() mavenCentral() mavenLocal() } dependencies { classpath 'com.android.tools.build:gradle:2.3.0' } } apply plugin: 'com.android.library' dependencies { compile fileTree(dir: 'libs', include: 'commons-compress-1.11.jar') } def submoduleDir = ['submodules/mediastreamer2/java/src', 'submodules/linphone/java/j2se', 'submodules/linphone/java/common', 'submodules/linphone/java/impl', 'submodules/linphone/coreapi/help/java'] android { defaultConfig { compileSdkVersion 23 buildToolsVersion "25.0.2" multiDexEnabled true } lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for errors in release builds, // but continue the build even when errors are found: abortOnError false } sourceSets { main { manifest.srcFile 'AndroidManifestLibrary.xml' java.srcDirs = submoduleDir resources.srcDirs = submoduleDir aidl.srcDirs = submoduleDir renderscript.srcDirs = submoduleDir jniLibs.srcDirs = ['libs'] java.excludes = ['**/mediastream/MediastreamerActivity.java'] // Exclude some useless files packagingOptions { exclude '**/gdb.*' } } debug.setRoot('build-types/debug') release.setRoot('build-types/release') } } android { libraryVariants.all { variant -> def appName = "liblinphone-android-sdk" variant.outputs.each { output -> def newSdkName = "bin/outputs/aar/${appName}.aar" output.outputFile = new File(newSdkName) } } } ///////////// Task ///////////// task(releaseJavadoc, type: Javadoc, dependsOn: "assembleRelease") { source = submoduleDir excludes = ['**/mediastream/MediastreamerActivity.java', '**/**.html', '**/**.aidl'] classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) classpath += files(android.libraryVariants.release.javaCompile.classpath.files) } task sourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.srcDirs } task androidJavadocsJar(type: Jar, dependsOn: releaseJavadoc) { classifier = 'javadoc' from releaseJavadoc.destinationDir } task sdkZip(type: Zip) { String appName = "liblinphone-android-sdk" String gitSha = 'git describe --always'.execute().text.trim() String newSdkName = appName + "-" + gitSha + ".zip" from('bin/libs', 'bin/outputs/aar') include '*' archiveName newSdkName }