/* SPDX-FileCopyrightText: 2018-2020 Volker Krause SPDX-FileCopyrightText: 2019 Nicolas Fella SPDX-FileCopyrightText: 2020 Gabriel Souza Franco SPDX-FileCopyrightText: 2023 Bart De Vries SPDX-License-Identifier: BSD-3-Clause */ buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:7.4.1' } } repositories { google() jcenter() } apply plugin: 'com.android.application' apply from: '../version.gradle' def timestamp = (int)(new Date().getTime()/1000) dependencies { implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar']) } android { /******************************************************* * The following variables: * - androidBuildToolsVersion, * - androidCompileSdkVersion * - qtAndroidDir - holds the path to qt android files * needed to build any Qt application * on Android. * * are defined in gradle.properties file. This file is * updated by QtCreator and androiddeployqt tools. * Changing them manually might break the compilation! *******************************************************/ compileSdkVersion androidCompileSdkVersion buildToolsVersion androidBuildToolsVersion ndkVersion androidNdkVersion // Extract native libraries from the APK packagingOptions.jniLibs.useLegacyPackaging true sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = [qtAndroidDir + '/src', 'src', 'java'] aidl.srcDirs = [qtAndroidDir + '/src', 'src', 'aidl'] res.srcDirs = [qtAndroidDir + '/res', 'res'] resources.srcDirs = ['src'] renderscript.srcDirs = ['src'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } lintOptions { abortOnError false } defaultConfig { minSdkVersion qtMinSdkVersion targetSdkVersion qtTargetSdkVersion applicationId "org.kde.kasts" namespace "org.kde.kasts" versionCode timestamp versionName projectVersionFull manifestPlaceholders = [versionName: projectVersionFull, versionCode: timestamp] } packagingOptions { exclude 'lib/*/*RemoteObjects*' exclude 'lib/*/*StateMachine*' exclude 'lib/*/*_imageformats_qico_*' exclude 'lib/*/*_imageformats_qicns_*' exclude 'lib/*/*_imageformats_qtga_*' exclude 'lib/*/*_imageformats_qtiff_*' exclude 'lib/*/*_qmltooling_*' } aaptOptions { // different syntax than above // see https://android.googlesource.com/platform/frameworks/base/+/refs/heads/pie-release/tools/aapt2/util/Files.h#90 ignoreAssetsPattern '!ECM:!aclocal:!doc:!gtk-doc:!man:!mime:!pkgconfig:!qlogging-categories5:!iso_15924.mo:!iso_3166.mo:!iso_3166_2.mo:iso_3166-3.mo:!iso_4217.mo:!iso_639.mo:!iso_639-2.mo:!iso_639-3.mo:!iso_639_3.mo:!iso_639-5.mo:!iso_639_5.mo:!kcodecs5_qt.qm:!kde5_xml_mimetypes.qm:!knotifications5_qt.qm:!libkholidays5_qt.qm:!libkmime5.mo:!iso_15924.json:!iso_3166-3.json:!iso_4217.json:!iso_639-2.json:!iso_639-3.json:!iso_639-5.json:!schema-15924.json:!schema-3166-1.json:!schema-3166-2.json:!schema-3166-3.json:!schema-4217.json:!schema-639-2.json:!schema-639-3.json:!schema-639-5.json' } }