]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/build.gradle
Speed up the initial loading of Privacy Browser.
[PrivacyBrowserAndroid.git] / app / build.gradle
index 7d29b94e53bb8792c1696d47601a244649daf3d2..c88c78d48eefb351c90e2275f57be4061f33cbb7 100644 (file)
@@ -1,5 +1,5 @@
-/**
- * Copyright 2016 Soren Stoutner <soren@stoutner.com>.
+/*
+ * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
 apply plugin: 'com.android.application'
 
 android {
-    signingConfigs {
-    }
+    compileSdkVersion 28
+    buildToolsVersion '28.0.3'
 
-    compileSdkVersion 23
-    buildToolsVersion "23.0.2"
     defaultConfig {
-        applicationId "com.stoutner.privacybrowser"
-        minSdkVersion 10
-        targetSdkVersion 23
-        versionCode 1
-        versionName "1.0"
+        minSdkVersion 19
+        targetSdkVersion 28
+        versionCode 44
+        versionName "3.0.1"
     }
 
     buildTypes {
-        release {
+        debug {
             minifyEnabled false
+            shrinkResources false
+        }
+
+        release {
+            minifyEnabled true
+            shrinkResources true
             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
         }
     }
 
+    // Gradle requires a `flavorDimension`, but it isn't used for anything in Privacy Browser.
+    flavorDimensions "basic"
+
     productFlavors {
         standard {
             applicationId "com.stoutner.privacybrowser.standard"
-            versionName "1.0-standard"
+            dimension "basic"
         }
 
         free {
             applicationId "com.stoutner.privacybrowser.free"
-            versionName "1.0-free"
+            dimension "basic"
         }
     }
 
-    // `lintOptions abortOnError false` is required for F-Droid to build correctly.
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_8
+        targetCompatibility JavaVersion.VERSION_1_8
+    }
+
+    // Allow the releases to be built even though the versions of the support and consent libraries don't match (Privacy Browser doesn't use the consent library form, so it doesn't matter).
     lintOptions {
         abortOnError false
     }
 }
 
 dependencies {
-    compile fileTree(dir: 'libs', include: ['*.jar'])
-    compile 'com.android.support:appcompat-v7:23.2.0'
-    compile 'com.android.support:design:23.2.0'
-    compile 'com.android.support:support-v4:23.2.0'
-    // Only compile com.google.android.gms:play-services-ads for the free version so that the standard version can build of F-Droid.
-    freeCompile 'com.google.android.gms:play-services-ads:8.4.0'
-}
+    implementation fileTree(include: ['*.jar'], dir: 'libs')
+
+    // Include the following AndroidX libraries.
+    implementation 'androidx.arch.core:core-common:2.0.1'
+    implementation 'androidx.arch.core:core-runtime:2.0.1'
+    implementation 'androidx.appcompat:appcompat:1.0.2'
+    implementation 'androidx.cardview:cardview:1.0.0'
+    implementation 'androidx.coordinatorlayout:coordinatorlayout:1.0.0'
+    implementation 'androidx.drawerlayout:drawerlayout:1.0.0'
+    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.0.0'
+    implementation 'androidx.viewpager:viewpager:1.0.0'
+
+    // Include the Google material library.
+    implementation 'com.google.android.material:material:1.0.0'
+
+    // Only compile Firebase ads for the free flavor.
+    freeImplementation 'com.google.firebase:firebase-ads:17.2.1'
+}
\ No newline at end of file