X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fbuild.gradle;h=81da8f69f6a6bc5154826c959187aa2d1e8a282c;hb=HEAD;hp=1f926caa8fa62601b50ecf752f2e213b0c8f3031;hpb=828458a749772bd036f9e2747bd9f6bf9c468691;p=PrivacyBrowserAndroid.git diff --git a/app/build.gradle b/app/build.gradle index 1f926caa..273dd017 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,25 +1,104 @@ -apply plugin: 'com.android.application' +/* + * Copyright 2016-2024 Soren Stoutner . + * + * This file is part of Privacy Browser Android . + * + * Privacy Browser Android 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 Android 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 Android. If not, see . + */ + +plugins { + id 'com.android.application' + id 'kotlin-android' +} android { - compileSdkVersion 23 - buildToolsVersion "23.0.2" + compileSdk 34 defaultConfig { - applicationId "com.stoutner.privacybrowser" - minSdkVersion 8 - targetSdkVersion 23 - versionCode 1 - versionName "1.0" + minSdk 26 + targetSdk 34 + versionCode 74 + versionName "3.18" + resourceConfigurations += ['en', 'de', 'es', 'fr', 'it', 'pt-rBR', 'ru', 'tr', 'zh-rCN'] + } + + // Specify the compile Java version. This must match the Kotlin JVM target. For some reason the system was not setting this correctly. These can probably be removed in the future. + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + // Specify the Kotlin JVM target. This must match the compile Java version. For some reason the system was not setting this correctly. These can probably be removed in the future. + kotlinOptions { + jvmTarget = 17 } + buildTypes { - release { + debug { minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + shrinkResources false + } + + release { + minifyEnabled true + shrinkResources true + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } + + buildFeatures { + // Generate BuildConfig so it can be accessed from within the app. + buildConfig = true + } + + // 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" + } + + alt { + applicationId "com.stoutner.privacybrowser.alt" + dimension "basic" + } + } + + namespace 'com.stoutner.privacybrowser' } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:appcompat-v7:23.1.0' + // Include the following AndroidX libraries. + implementation "androidx.activity:activity-ktx:1.9.0" + implementation 'androidx.arch.core:core-common:2.2.0' + implementation 'androidx.arch.core:core-runtime:2.2.0' + implementation 'androidx.appcompat:appcompat:1.6.1' + implementation 'androidx.cardview:cardview:1.0.0' + implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0' + implementation 'androidx.core:core-ktx:1.13.1' + implementation 'androidx.drawerlayout:drawerlayout:1.2.0' + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.0' + implementation 'androidx.preference:preference-ktx:1.2.1' + implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' + implementation 'androidx.viewpager:viewpager:1.0.0' + implementation 'androidx.webkit:webkit:1.11.0' + + // Include the Kotlin standard library. This should be the same version number listed in project build.gradle. + implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.9.20' + + // Include the Google material library. + implementation 'com.google.android.material:material:1.12.0' }