plugins { id 'com.android.application' } def keystoreProperties = new Properties() def keystorePropertiesFile = rootProject.file('keystore.properties') if (keystorePropertiesFile.exists()) { keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) } android { namespace 'com.android.messaging' compileSdk 35 defaultConfig { applicationId 'com.bnkode.notie' minSdk 33 targetSdk 34 versionCode 10001040 versionName '1.0.001' vectorDrawables.useSupportLibrary true resourceConfigurations += ['en', 'ko'] } compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } signingConfigs { release { if (keystorePropertiesFile.exists()) { storeFile rootProject.file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] } } } buildTypes { release { minifyEnabled true shrinkResources true signingConfig signingConfigs.release proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), rootProject.file('proguard-release.flags'), rootProject.file('proguard.flags') } debug { minifyEnabled false } } lint { abortOnError false } sourceSets { main { manifest.srcFile 'src/main/AndroidManifest.xml' java.srcDirs = ['src/main/java'] res.srcDirs = ['src/main/res'] assets.srcDirs = ['src/main/assets'] } } } dependencies { implementation project(':modules:colorpicker') implementation project(':modules:chips') implementation project(':modules:photoviewer') implementation project(':modules:vcard') implementation 'androidx.activity:activity:1.9.3' implementation 'androidx.annotation:annotation:1.8.2' implementation 'androidx.appcompat:appcompat:1.7.0' implementation 'androidx.collection:collection:1.4.4' implementation 'androidx.core:core:1.15.0' implementation 'androidx.exifinterface:exifinterface:1.3.7' implementation 'androidx.fragment:fragment:1.8.5' implementation 'androidx.lifecycle:lifecycle-process:2.8.7' implementation 'androidx.media:media:1.7.0' implementation 'androidx.palette:palette:1.0.0' implementation 'androidx.preference:preference:1.2.1' implementation 'androidx.recyclerview:recyclerview:1.3.2' implementation 'androidx.viewpager:viewpager:1.0.0' implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.guava:guava:33.3.1-android' implementation 'com.googlecode.libphonenumber:libphonenumber:8.13.50' } def messagingAvdSerial = rootProject.findProperty('messaging.avd.serial') ?: 'emulator-5556' def adbExecutable = new File(android.sdkDirectory, 'platform-tools/adb.exe') tasks.register('installMessaging', Exec) { group = 'install' description = "Install debug APK on ${messagingAvdSerial} only" dependsOn 'assembleDebug' def apk = layout.buildDirectory.file('outputs/apk/debug/app-debug.apk').get().asFile commandLine adbExecutable.absolutePath, '-s', messagingAvdSerial, 'install', '-r', apk.absolutePath } tasks.register('launchMessaging', Exec) { group = 'install' description = "Launch Messaging on ${messagingAvdSerial}" dependsOn 'installMessaging' commandLine adbExecutable.absolutePath, '-s', messagingAvdSerial, 'shell', 'am', 'start', '-n', 'com.bnkode.notie/com.android.messaging.ui.conversationlist.ConversationListActivity' }