def readVarFile() { File varFile = file('VARIABLES.txt') def qtVars = [:] varFile.eachLine { line -> if (line.trim()) { def eq = line.indexOf('=') if (eq > 0) { def key = line.substring(0, eq) def value = line.substring(eq+1) qtVars."$key" = value } } } return qtVars } def QtApp = readVarFile() def versionMajor = QtApp.VER_MAJ.toInteger() def versionMinor = QtApp.VER_MIN.toInteger() def versionPatch = QtApp.VER_PAT.toInteger() def android_armv7 = QtApp.ANDROID_ARMv7.toInteger() def android_armv8 = QtApp.ANDROID_ARM64.toInteger() def android_x86 = QtApp.ANDROID_x86.toInteger() def android_x86_64 = QtApp.ANDROID_x86_64.toInteger() buildscript { repositories { maven { url 'https://maven.fabric.io/public' } maven { url 'https://maven.google.com' } jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.1' classpath 'com.google.gms:google-services:4.1.0' classpath 'io.fabric.tools:gradle:1.+' } } allprojects { repositories { mavenCentral() maven { url 'https://maven.fabric.io/public' } maven { url 'https://maven.google.com' } jcenter() } } apply plugin: 'com.android.application' repositories { maven { url 'https://maven.fabric.io/public' } maven { url 'https://maven.google.com' } } apply plugin: 'io.fabric' crashlytics { enableNdk true androidNdkOut '.' androidNdkLibsOut './crashlytics/' } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') { transitive = true } implementation('com.crashlytics.sdk.android:crashlytics-ndk:1.1.6@aar') { transitive = true } implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.google.firebase:firebase-core:16.0.5' implementation 'com.google.firebase:firebase-messaging:17.3.4' implementation 'me.leolin:ShortcutBadger:1.1.22@aar' implementation 'com.android.support:appcompat-v7:28.0.0' } android { /******************************************************* * The following variables: * - androidBuildToolsVersion, * - androidCompileSdkVersion * - qt5AndroidDir - 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.toInteger() buildToolsVersion androidBuildToolsVersion defaultConfig { if (android_armv7 == 1) { ndk { abiFilters 'armeabi-v7a' } } else if (android_armv8 == 1){ ndk { abiFilters 'arm64-v8a' } } else if(android_x86 == 1){ ndk { abiFilters 'x86' } }else if(android_x86_64 == 1){ ndk { abiFilters 'x86_64' } } versionCode versionMajor * (100000 + versionMinor * 1000)+1 + versionPatch * 100 versionName QtApp.VERSION } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java'] aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl'] res.srcDirs = [qt5AndroidDir + '/res', 'res'] resources.srcDirs = ['src'] renderscript.srcDirs = ['src'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] } } lintOptions { abortOnError false } } apply plugin: 'com.google.gms.google-services' copy { from 'build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics-ndk/1.1.6/jni/' into 'libs' include '**/*' } copy { from 'libs' into 'crashlytics' include '**/*' }