buildscript { repositories { google() maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.26.1' } } apply plugin: 'com.android.application' apply plugin: 'io.fabric' apply plugin: 'devicefarm' repositories { maven { url 'https://maven.fabric.io/public' } } def safeExtGet(prop, fallback) { rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback } android { compileSdkVersion safeExtGet("compileSdkVersion", 28) compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } defaultConfig { applicationId 'com.dslak.vdsquiz' minSdkVersion safeExtGet("minSdkVersion", 21) targetSdkVersion safeExtGet("targetSdkVersion", 28) versionCode 1 versionName '1.0.0' multiDexEnabled true testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" // Deprecated. Used by net.openid:appauth manifestPlaceholders = [ 'appAuthRedirectScheme': 'host.exp.exponent' ] } dexOptions { javaMaxHeapSize System.getenv("DISABLE_DEX_MAX_HEAP") ? null : "8g" } signingConfigs { debug { storeFile file('../debug.keystore') } release { storeFile file(System.getenv("ANDROID_KEYSTORE_PATH") ?: "release-key.jks") storePassword System.getenv("ANDROID_KEYSTORE_PASSWORD") keyAlias System.getenv("ANDROID_KEY_ALIAS") keyPassword System.getenv("ANDROID_KEY_PASSWORD") } } buildTypes { debug { debuggable true ext.enableCrashlytics = false } release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' consumerProguardFiles 'proguard-rules.pro' signingConfig signingConfigs.release } } lintOptions { abortOnError false } packagingOptions { pickFirst "**" } } devicefarm { projectName System.getenv("DEVICEFARM_PROJECT_NAME") devicePool System.getenv("DEVICEFARM_DEVICE_POOL") executionTimeoutMinutes 40 authentication { accessKey System.getenv("AWS_ACCESS_KEY_ID") secretKey System.getenv("AWS_SECRET_ACCESS_KEY") } } configurations.all { resolutionStrategy { force 'org.webkit:android-jsc:r245459' } } // WHEN_PREPARING_SHELL_REMOVE_FROM_HERE apply from: 'expo.gradle' // WHEN_PREPARING_SHELL_REMOVE_TO_HERE apply from: "../../node_modules/react-native-unimodules/gradle.groovy" dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:multidex:1.0.1' // Our dependencies implementation "com.android.support:appcompat-v7:$supportLibVersion" // Our dependencies from ExpoView // DON'T ADD ANYTHING HERE THAT ISN'T IN EXPOVIEW. ONLY COPY THINGS FROM EXPOVIEW TO HERE. implementation "com.android.support:appcompat-v7:$supportLibVersion" implementation 'com.facebook.android:facebook-android-sdk:5.0.1' implementation('com.facebook.android:audience-network-sdk:5.1.1') { exclude module: 'play-services-ads' } compileOnly 'org.glassfish:javax.annotation:3.1.1' implementation 'com.jakewharton:butterknife:9.0.0' implementation 'de.greenrobot:eventbus:2.4.0' implementation 'com.squareup.picasso:picasso:2.5.2' implementation 'com.google.android.gms:play-services-gcm:15.0.1' implementation 'com.google.android.gms:play-services-analytics:16.0.1' implementation 'com.google.android.gms:play-services-maps:15.0.1' implementation 'com.google.android.gms:play-services-auth:15.0.1' implementation 'com.google.android.gms:play-services-location:15.0.1' implementation "com.madgag.spongycastle:core:1.53.0.0" implementation "com.madgag.spongycastle:prov:1.53.0.0" debugImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta1' // debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.4-beta1' releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta1' implementation 'com.facebook.device.yearclass:yearclass:2.1.0' implementation 'commons-io:commons-io:1.4' implementation 'me.leolin:ShortcutBadger:1.1.4@aar' implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.0' implementation 'commons-codec:commons-codec:1.10' implementation 'com.segment.analytics.android:analytics:4.3.0' implementation 'com.google.zxing:core:3.3.3' implementation 'net.openid:appauth:0.4.1' implementation 'com.airbnb.android:lottie:2.5.6' implementation('io.nlopez.smartlocation:library:3.2.11') { transitive = false } implementation "com.android.support:exifinterface:${safeExtGet("supportLibVersion", "28.0.0")}" implementation 'com.squareup.okio:okio:1.9.0' implementation 'com.facebook.soloader:soloader:0.6.0' // expo-file-system implementation 'com.squareup.okhttp3:okhttp:3.10.0' implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.10.0' // Testing androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' // We use a modified build of com.android.support.test:runner:1.0.1. Explanation in maven-test/README androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation "com.android.support:support-annotations:${safeExtGet("supportLibVersion", "28.0.0")}" androidTestImplementation 'com.google.code.findbugs:jsr305:3.0.0' androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1' androidTestImplementation 'com.azimolabs.conditionwatcher:conditionwatcher:0.2' testImplementation 'junit:junit:4.12' testImplementation 'org.mockito:mockito-core:1.10.19' testImplementation 'org.robolectric:robolectric:3.8' testImplementation 'com.android.support.test:runner:1.0.2-alpha1' testImplementation 'com.android.support.test:rules:1.0.2-alpha1' implementation('host.exp.exponent:expoview:35.0.0@aar') { transitive = true exclude group: 'com.squareup.okhttp3', module: 'okhttp' exclude group: 'com.squareup.okhttp3', module: 'okhttp-urlconnection' } api 'org.webkit:android-jsc:r245459' // needs to be before react-native api 'com.facebook.react:react-native:33.0.0' addUnimodulesDependencies([ modulesPaths : [ '../../node_modules' ], configuration: 'api', target : 'react-native', exclude : [ // You can exclude unneeded modules here, eg. // 'unimodules-face-detector-interface', // 'expo-face-detector' // Adding a name here will also remove the package // from auto-generated BasePackageList.java ] ]) } // This has to be down here for some reason apply plugin: 'com.google.gms.google-services'