apply plugin: 'com.android.application' boolean googleServicesEnabled = project.file('google-services.json').exists() // Crashlytics integration is done as part of Firebase now, so it gets // automagically activated with google-services.json if (googleServicesEnabled) { apply plugin: 'io.fabric' } android { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion defaultConfig { applicationId 'org.jitsi.meet' versionCode Integer.parseInt(project.buildNumber) versionName project.appVersion minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion ndk { abiFilters 'armeabi-v7a', 'x86' } packagingOptions { // The project react-native does not provide 64-bit binaries at the // time of this writing. Unfortunately, packaging any 64-bit // binaries into the .apk will crash the app at runtime on 64-bit // platforms. exclude '/lib/mips64/**' exclude '/lib/arm64-v8a/**' exclude '/lib/x86_64/**' } } buildTypes { debug { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-debug.pro' buildConfigField "boolean", "GOOGLE_SERVICES_ENABLED", "${googleServicesEnabled}" } release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules-release.pro' buildConfigField "boolean", "GOOGLE_SERVICES_ENABLED", "${googleServicesEnabled}" } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } repositories { maven { url 'https://maven.fabric.io/public' } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "com.android.support:support-v4:${rootProject.ext.supportLibVersion}" implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" implementation 'com.google.android.gms:play-services-auth:16.0.1' implementation project(':sdk') debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.1' releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1' // Glide implementation("com.github.bumptech.glide:glide:${rootProject.ext.glideVersion}") { exclude group: "com.android.support", module: "glide" } implementation("com.github.bumptech.glide:annotations:${rootProject.ext.glideVersion}") { exclude group: "com.android.support", module: "annotations" } annotationProcessor "com.github.bumptech.glide:compiler:${rootProject.ext.glideVersion}" // Firebase // - Crashlytics // - Dynamic Links implementation 'com.google.firebase:firebase-core:16.0.6' implementation 'com.crashlytics.sdk.android:crashlytics:2.9.8' implementation 'com.google.firebase:firebase-dynamic-links:16.1.5' } gradle.projectsEvaluated { // Dropbox integration // def dropboxAppKey if (project.file('dropbox.key').exists()) { dropboxAppKey = project.file('dropbox.key').text.trim() - 'db-' } if (dropboxAppKey) { android.defaultConfig.resValue('string', 'dropbox_app_key', "${dropboxAppKey}") def dropboxActivity = """ """ android.applicationVariants.all { variant -> variant.outputs.each { output -> output.processManifest.doLast { def f = new File(manifestOutputDirectory, 'AndroidManifest.xml') if (!f.isFile()) { f = new File(new File(manifestOutputDirectory, output.dirName), 'AndroidManifest.xml') } if (f.exists()) { def charset = 'UTF-8' def s = f.getText(charset) s = s.replace('', "${dropboxActivity}") f.write(s, charset) } } } } } } if (googleServicesEnabled) { apply plugin: 'com.google.gms.google-services' }