+/*
+ * Copyright © 2016-2018 Soren Stoutner <soren@stoutner.com>.
+ *
+ * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+ *
+ * Privacy Browser is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Privacy Browser is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Privacy Browser. If not, see <http://www.gnu.org/licenses/>.
+ */
+
apply plugin: 'com.android.application'
android {
- compileSdkVersion 23
- buildToolsVersion "23.0.2"
+ compileSdkVersion 27
+ buildToolsVersion '27.0.3'
defaultConfig {
- applicationId "com.stoutner.privacybrowser"
- minSdkVersion 10
- targetSdkVersion 23
- versionCode 1
- versionName "1.0"
+ minSdkVersion 19
+ targetSdkVersion 27
+ versionCode 34
+ versionName "2.11"
}
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"
+ dimension "basic"
+ }
+
+ free {
+ applicationId "com.stoutner.privacybrowser.free"
+ dimension "basic"
+ }
+ }
+
+ 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.1.1'
- compile 'com.android.support:design:23.1.1'
- compile 'com.android.support:support-v4:23.1.1'
-}
+ implementation fileTree(include: ['*.jar'], dir: 'libs')
+ implementation 'com.android.support:design:27.0.2'
+
+ // Only compile Firebase ads for the free flavor.
+ freeImplementation 'com.google.firebase:firebase-ads:15.0.1'
+
+ // Only compile the consent library for the free flavor. It is used to comply with the GDPR in Europe.
+ freeImplementation 'com.google.android.ads.consent:consent-library:1.0.6'
+}
\ No newline at end of file