buildscript { repositories { jcenter() google() } dependencies { classpath 'com.android.tools.build:gradle:4.1.1' } } apply plugin: 'com.android.application' repositories { jcenter() google() } configurations { smallicu } dependencies { implementation 'com.android.support:appcompat-v7:25.3.1' implementation 'com.android.support:design:25.3.1' // Note: you can just replace "smallicu" by implementation // and remove the "compile files" part if you do not // care about the size of the apk smallicu 'com.ibm.icu:icu4j:57.1' implementation files("$buildDir/icu4j-57.1.small.jar") { builtBy 'makesmallicu' } implementation 'com.android.support:preference-v7:25.3.1' coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1' } task makesmallicu (type:Exec, dependsOn: configurations.smallicu) { inputs.file "mksmallicu.sh" inputs.file "${configurations.smallicu.resolve()[0]}" outputs.dir "$buildDir" outputs.file "$buildDir/icu4j-57.1.small.jar" // necessary due to gradle bug: GRADLE-2638 new File("$buildDir").mkdirs() commandLine "./mksmallicu.sh", "${configurations.smallicu.resolve()[0]}", "$buildDir/icu4j-57.1.small.jar" } def utildir = hasProperty("quickdicUtilDir") ? quickdicUtilDir : "Util" allprojects { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } } android { compileSdkVersion 29 lintOptions { disable "MissingTranslation" } buildTypes { debug { applicationIdSuffix ".debug" } release { minifyEnabled true shrinkResources true } } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src', utildir + "/src"] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // Move the build types to build-types/ // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src//... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } defaultConfig { applicationId 'de.reimardoeffinger.quickdic' multiDexEnabled true targetSdkVersion 29 resConfigs "de", "es", "eu", "fr", "it", "ja", "pt", "pt-rBR", "ru", "zh-rCN" minSdkVersion 10 } compileOptions { coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }