apply plugin: 'com.android.application' ext { supportLibraryVersion = '28.0.0' } android { compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } signingConfigs { alpha { keyAlias 'debug' storeFile file(ALPHA_STORE) storePassword ALPHA_STORE_PASSWORD keyAlias ALPHA_KEY_ALIAS keyPassword ALPHA_KEY_PASSWORD v2SigningEnabled true } release { storeFile file(RELEASE_STORE) storePassword RELEASE_STORE_PASSWORD keyAlias RELEASE_KEY_ALIAS keyPassword RELEASE_KEY_PASSWORD v2SigningEnabled true } } compileSdkVersion 32 buildToolsVersion '30.0.3' defaultConfig { applicationId "es.wolfi.app.passman" minSdkVersion 21 targetSdkVersion 32 versionCode 16 versionName "1.4.0" testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' externalNativeBuild { cmake { cppFlags "-std=c++11 -frtti -fexceptions" } } } buildTypes { release { minifyEnabled false debuggable false resValue "string", "app_name", "@string/app_name_release" proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } googlePlayRelease { minifyEnabled false debuggable false resValue "string", "app_name", "@string/app_name_release" proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' // .alpha is needed to keep it compatible with the custom signing key approach on the play store, // since it won't let us create a new store page and publish the app without the alpha on the name. applicationIdSuffix ".alpha" versionNameSuffix '-gplay' signingConfig signingConfigs.release } debug { debuggable true applicationIdSuffix ".debug" versionNameSuffix '-DEBUG' resValue "string", "app_name", "@string/app_name_release" signingConfig signingConfigs.alpha } alpha { minifyEnabled true debuggable true applicationIdSuffix ".alpha" versionNameSuffix '-NIGHTLY' manifestPlaceholders = [appName: "Alpha"] resValue "string", "app_name", "@string/app_name_alpha" signingConfig signingConfigs.alpha } } externalNativeBuild { cmake { path "CMakeLists.txt" } } splits { abi { enable true reset() include 'armeabi-v7a', 'arm64-v8a', 'x86_64', 'x86' universalApk true } } lintOptions { disable 'MissingTranslation' } ndkVersion '21.4.7075529' } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') androidTestImplementation('androidx.test.espresso:espresso-core:3.4.0', { exclude group: 'com.android.support', module: 'support-annotations' }) // Nextcloud SSO implementation "com.github.nextcloud:Android-SingleSignOn:0.6.1" implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'com.google.android.material:material:1.6.1' implementation 'com.jakewharton:butterknife:10.2.3' implementation 'com.koushikdutta.ion:ion:3.1.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation 'androidx.cardview:cardview:1.0.0' implementation 'commons-codec:commons-codec:1.15' implementation 'com.loopj.android:android-async-http:1.4.11' implementation 'com.caverock:androidsvg:1.4' implementation 'org.bouncycastle:bcpkix-jdk15on:1.70' implementation 'com.vdurmont:semver4j:3.1.0' // Version 3.4.0 contains a crashing bug before api level 24 implementation 'com.google.zxing:core:3.3.3' implementation("androidx.camera:camera-core:1.1.0") implementation("androidx.camera:camera-camera2:1.1.0") implementation("androidx.camera:camera-lifecycle:1.1.0") implementation("androidx.camera:camera-view:1.1.0") testImplementation 'junit:junit:4.13.2' annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3' }