X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fbuild.gradle;h=4eb4f1ec189e96778de0753d89e4a1b2298a206e;hp=d61559192222a6cf2fc8e8849cffd070287e365a;hb=031def95c6d9bfc14113fe86b4a5690233d93ce2;hpb=023da122147de9e22185917e7df709ea89fbaca0 diff --git a/app/build.gradle b/app/build.gradle index d6155919..4eb4f1ec 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,5 +1,5 @@ /* - * Copyright 2016-2017 Soren Stoutner . + * Copyright © 2016-2021 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -18,15 +18,19 @@ */ apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' android { - compileSdkVersion 25 - buildToolsVersion "25.0.3" + compileSdkVersion 30 + defaultConfig { minSdkVersion 19 - targetSdkVersion 25 - versionCode 22 - versionName "2.2" + targetSdkVersion 30 + versionCode 54 + versionName "3.7" + + // `multiDexEnabled` can possibly be removed once the `minSdkVersion` is >= 21. + multiDexEnabled true } buildTypes { @@ -38,29 +42,57 @@ android { release { minifyEnabled true shrinkResources true - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + proguardFiles getDefaultProguardFile('proguard-android-optimize.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" + dimension "basic" } free { applicationId "com.stoutner.privacybrowser.free" + dimension "basic" } } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +repositories { + mavenCentral() } dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') - compile 'com.android.support:design:25.3.1' + implementation fileTree(include: ['*.jar'], dir: 'libs') - // Only compile `com.google.firebase:firebase-ads:9.8.0` for the free flavor. - freeCompile 'com.google.firebase:firebase-ads:9.8.0' -} + // Include the following AndroidX libraries. + implementation 'androidx.arch.core:core-common:2.1.0' + implementation 'androidx.arch.core:core-runtime:2.1.0' + implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'androidx.cardview:cardview:1.0.0' + implementation 'androidx.coordinatorlayout:coordinatorlayout:1.1.0' + implementation 'androidx.core:core-ktx:1.3.2' + implementation 'androidx.drawerlayout:drawerlayout:1.1.1' + implementation 'androidx.preference:preference-ktx:1.1.1' + implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' + implementation 'androidx.viewpager:viewpager:1.0.0' + implementation 'androidx.webkit:webkit:1.4.0' + + // Include the Kotlin standard libraries. This should be the same version number listed in project build.gradle. + implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.32' + + // Include the Google material library. + implementation 'com.google.android.material:material:1.3.0' -// Google's documentation says the following line is required for `firebase-ads` but things work correctly without it. I have no interest in applying the Google Mobile Services plugin in the standard flavor if I don't have to. -// I suspect that in the free flavor `firebase-ads` applies it even when not specified. . -// apply plugin: 'com.google.gms.google-services' \ No newline at end of file + // Only compile AdMob ads for the free flavor. + freeImplementation 'com.google.android.gms:play-services-ads:19.8.0' +} \ No newline at end of file