[Android] [PATCH] Move LibVLC build in LibVLC gradle file

Geoffrey Métais geoffrey.metais at gmail.com
Sun Jan 4 16:19:53 CET 2015


LibVLC debug and release are bundled in libvlc/build/outputs/aar/
So it seems OK to build release and debug apks at the same time
---
 libvlc/build.gradle      | 44 ++++++++++++++++++++++++++++++++++++++++
 vlc-android/build.gradle | 52 ------------------------------------------------
 2 files changed, 44 insertions(+), 52 deletions(-)

diff --git a/libvlc/build.gradle b/libvlc/build.gradle
index 173739c..5e3219b 100644
--- a/libvlc/build.gradle
+++ b/libvlc/build.gradle
@@ -1,5 +1,41 @@
 apply plugin: 'com.android.library'
 
+task buildDebug(type:Exec) {
+    /*
+    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')
+        environment 'ANDROID_ABI', 'armeabi-v7a x86'
+    }
+    workingDir '..'
+    commandLine './compile.sh'
+    args('jni')
+}
+
+task buildRelease(type:Exec) {
+    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')
+        environment 'ANDROID_ABI', 'armeabi-v7a x86'
+    }
+
+    workingDir '..'
+    commandLine './compile.sh'
+    args('jni', 'release')
+}
+
 android {
     compileSdkVersion rootProject.ext.compileSdkVersion
     buildToolsVersion rootProject.ext.buildToolsVersion
@@ -21,6 +57,14 @@ android {
     defaultConfig {
         minSdkVersion 7
         targetSdkVersion 21
+
+        tasks.whenTaskAdded { task ->
+            if (task.name == 'bundleDebug') {
+                task.dependsOn buildDebug
+            } else if (task.name == 'bundleRelease') {
+                task.dependsOn buildRelease
+            }
+        }
     }
 
     buildTypes {
diff --git a/vlc-android/build.gradle b/vlc-android/build.gradle
index 2be3dd0..ca6b3ad 100644
--- a/vlc-android/build.gradle
+++ b/vlc-android/build.gradle
@@ -1,41 +1,5 @@
 apply plugin: 'com.android.application'
 
-
-task buildDebug(type:Exec) {
-    /*
-    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')
-        environment 'ANDROID_ABI', 'armeabi-v7a x86'
-    }
-    workingDir '..'
-    commandLine './compile.sh'
-    args('jni')
-}
-task buildRelease(type:Exec) {
-    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')
-        environment 'ANDROID_ABI', 'armeabi-v7a x86'
-    }
-
-    workingDir '..'
-    commandLine './compile.sh'
-    args('jni', 'release')
-}
-
 android {
     compileSdkVersion rootProject.ext.compileSdkVersion
     buildToolsVersion rootProject.ext.buildToolsVersion
@@ -71,35 +35,19 @@ android {
     buildTypes {
         release {
             signingConfig signingConfigs.release
-            tasks.assembleRelease.dependsOn buildRelease
             minifyEnabled true
             shrinkResources true
             proguardFile 'proguard.cfg'
         }
         debug {
-            tasks.assembleDebug.dependsOn buildDebug
             debuggable true
         }
     }
     productFlavors {
         vanilla {
-            tasks.whenTaskAdded { task ->
-                if (task.name == 'assembleVanillaDebug') {
-                    task.dependsOn buildDebug
-                } else if (task.name == 'assembleVanillaRelease') {
-                    task.dependsOn buildRelease
-                }
-            }
             applicationId "org.videolan.vlc"
         }
         tv {
-            tasks.whenTaskAdded { task ->
-                if (task.name == 'assembleTvDebug') {
-                    task.dependsOn buildDebug
-                } else if (task.name == 'assembleTvRelease') {
-                    task.dependsOn buildRelease
-                }
-            }
             applicationId "org.videolan.vlc.tv"
             minSdkVersion 17
         }
-- 
2.1.0



More information about the Android mailing list