diff --git a/android/app/build.gradle.dev b/android/app/build.gradle.dev index 4608c0dc3..1aeb9a39d 100644 --- a/android/app/build.gradle.dev +++ b/android/app/build.gradle.dev @@ -11,7 +11,18 @@ if (flutterRoot == null) { throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") } +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" def keystorePropertiesFile = rootProject.file("key.properties") @@ -21,17 +32,21 @@ keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android { compileSdkVersion 28 + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + lintOptions { disable 'InvalidPackage' } defaultConfig { - applicationId "com.invoiceninja.flutter" - minSdkVersion 18 + applicationId "com.invoiceninja.client" + minSdkVersion 16 targetSdkVersion 28 - versionCode 50 - versionName "0.1.50" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { @@ -39,14 +54,20 @@ android { signingConfig signingConfigs.debug } }} +} flutter { source '../..' } dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.2' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' - implementation 'com.google.firebase:firebase-core:16.0.5' + androidTestImplementation 'androidx.test:runner:1.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' + implementation 'com.google.firebase:firebase-core:17.2.0' + implementation 'com.google.guava:guava:27.0.1-android' // https://stackoverflow.com/a/56639924/497368 + } + +apply plugin: 'com.google.gms.google-services' \ No newline at end of file diff --git a/android/app/build.gradle.prod b/android/app/build.gradle.prod index 4e8008be5..4da6c6470 100644 --- a/android/app/build.gradle.prod +++ b/android/app/build.gradle.prod @@ -11,7 +11,18 @@ if (flutterRoot == null) { throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") } +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" def keystorePropertiesFile = rootProject.file("key.properties") @@ -21,17 +32,21 @@ keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android { compileSdkVersion 28 + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + lintOptions { disable 'InvalidPackage' } defaultConfig { - applicationId "com.invoiceninja.flutter" - minSdkVersion 18 + applicationId "com.invoiceninja.client" + minSdkVersion 16 targetSdkVersion 28 - versionCode 50 - versionName "0.1.50" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } signingConfigs { @@ -43,25 +58,27 @@ android { } } buildTypes { + debug { + signingConfig signingConfigs.release + } release { signingConfig signingConfigs.release - - //minifyEnabled true - //useProguard true - - //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } - }} + } +} flutter { source '../..' } dependencies { + implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.2' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' - implementation 'com.google.firebase:firebase-core:16.0.5' + androidTestImplementation 'androidx.test:runner:1.1.1' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' + implementation 'com.google.firebase:firebase-core:17.2.0' + implementation 'com.google.guava:guava:27.0.1-android' // https://stackoverflow.com/a/56639924/497368 + } -apply plugin: 'com.google.gms.google-services' +apply plugin: 'com.google.gms.google-services' \ No newline at end of file