X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;ds=sidebyside;f=app%2Fbuild.gradle;h=900ddf9bc86073aabd2bb6ec82f085d53fd08d88;hb=HEAD;hp=15b6d70069e4ee64ea68a95880376c9e2c366a67;hpb=b80076307e379140bb5ade204bda7042af43af25;p=PrivacyBrowserAndroid.git diff --git a/app/build.gradle b/app/build.gradle index 15b6d700..f950a209 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,33 +1,47 @@ -/* - * Copyright © 2016-2019 Soren Stoutner . +/* SPDX-License-Identifier: GPL-3.0-or-later + * SPDX-FileCopyrightText: 2016-2025 Soren Stoutner * - * This file is part of Privacy Browser . + * This file is part of Privacy Browser Android . * - * 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. + * This program 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. + * This program 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 . + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . */ -apply plugin: 'com.android.application' +plugins { + id 'com.android.application' + id 'kotlin-android' +} android { - compileSdkVersion 28 - buildToolsVersion '28.0.3' + compileSdk 36 defaultConfig { - minSdkVersion 19 - targetSdkVersion 28 - versionCode 46 - versionName "3.2" + minSdk 26 + targetSdk 36 + versionCode 79 + versionName "3.19.3" + 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 { @@ -39,12 +53,17 @@ android { release { minifyEnabled true shrinkResources true - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + 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" + flavorDimensions = ['basic'] productFlavors { standard { @@ -52,34 +71,34 @@ android { dimension "basic" } - free { - applicationId "com.stoutner.privacybrowser.free" + alt { + applicationId "com.stoutner.privacybrowser.alt" dimension "basic" } } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } + namespace 'com.stoutner.privacybrowser' } dependencies { - implementation fileTree(include: ['*.jar'], dir: 'libs') - // 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.1.0' + implementation "androidx.activity:activity-ktx:1.10.1" + implementation 'androidx.arch.core:core-common:2.2.0' + implementation 'androidx.arch.core:core-runtime:2.2.0' + implementation 'androidx.appcompat:appcompat:1.7.1' 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' + implementation 'androidx.coordinatorlayout:coordinatorlayout:1.3.0' + implementation 'androidx.core:core-ktx:1.16.0' + implementation 'androidx.drawerlayout:drawerlayout:1.2.0' + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.1' + implementation 'androidx.preference:preference-ktx:1.2.1' + implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' + implementation 'androidx.viewpager:viewpager:1.1.0' + implementation 'androidx.webkit:webkit:1.14.0' - // Include the Google material library. - implementation 'com.google.android.material:material:1.0.0' + // Include the Kotlin standard library. This should be the same version number listed in project build.gradle. + implementation 'org.jetbrains.kotlin:kotlin-stdlib:2.1.20' - // Only compile Firebase ads for the free flavor. - freeImplementation 'com.google.firebase:firebase-ads:18.2.0' -} \ No newline at end of file + // Include the Google material library. + implementation 'com.google.android.material:material:1.13.0-alpha14' +}