mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-13 03:46:34 +00:00
5441a572d9
libc++_shared needs to be enabled in the application in order for it to be included and used correctly for c++ plugins. Only symbols from libraries explicitly mentioned are exported from libgstreamer_android.so so we need to add a couple of deps to be able to access the necessary functions. Requires https://gitlab.freedesktop.org/gstreamer/cerbero/merge_requests/31 https://gitlab.freedesktop.org/gstreamer/cerbero/merge_requests/1
73 lines
2.3 KiB
Groovy
73 lines
2.3 KiB
Groovy
apply plugin: 'com.android.application'
|
|
|
|
android {
|
|
compileSdkVersion 23
|
|
buildToolsVersion '27.0.3'
|
|
|
|
defaultConfig {
|
|
applicationId "org.freedesktop.gstreamer.tutorials.tutorial_2"
|
|
minSdkVersion 15
|
|
targetSdkVersion 15
|
|
versionCode 1
|
|
versionName "1.0"
|
|
|
|
|
|
externalNativeBuild {
|
|
ndkBuild {
|
|
def gstRoot
|
|
|
|
if (project.hasProperty('gstAndroidRoot'))
|
|
gstRoot = project.gstAndroidRoot
|
|
else
|
|
gstRoot = System.env.GSTREAMER_ROOT_ANDROID
|
|
|
|
if (gstRoot == null)
|
|
throw new GradleException('GSTREAMER_ROOT_ANDROID must be set, or "gstAndroidRoot" must be defined in your gradle.properties in the top level directory of the unpacked universal GStreamer Android binaries')
|
|
|
|
arguments "NDK_APPLICATION_MK=jni/Application.mk", "GSTREAMER_JAVA_SRC_DIR=src", "GSTREAMER_ROOT_ANDROID=$gstRoot", "GSTREAMER_ASSETS_DIR=src/assets"
|
|
|
|
targets "tutorial-2"
|
|
|
|
// All archs except MIPS and MIPS64 are supported
|
|
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
sourceSets {
|
|
main {
|
|
manifest.srcFile 'AndroidManifest.xml'
|
|
java.srcDirs = ['src']
|
|
resources.srcDirs = ['src']
|
|
aidl.srcDirs = ['src']
|
|
renderscript.srcDirs = ['src']
|
|
res.srcDirs = ['res']
|
|
assets.srcDirs = ['assets']
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
externalNativeBuild {
|
|
ndkBuild {
|
|
path 'jni/Android.mk'
|
|
}
|
|
}
|
|
}
|
|
|
|
afterEvaluate {
|
|
if (project.hasProperty('compileDebugJavaWithJavac'))
|
|
project.compileDebugJavaWithJavac.dependsOn 'externalNativeBuildDebug'
|
|
if (project.hasProperty('compileReleaseJavaWithJavac'))
|
|
project.compileReleaseJavaWithJavac.dependsOn 'externalNativeBuildRelease'
|
|
}
|
|
|
|
dependencies {
|
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
testImplementation 'junit:junit:4.12'
|
|
implementation 'com.android.support:appcompat-v7:23.1.1'
|
|
}
|