Files
mobile-android/app/build.gradle.kts
k1ngsterr1 3ae544dac2 feat: Enhance architecture and performance optimizations
- Updated architecture documentation to reflect changes in data layer and caching strategies.
- Implemented LRU caching for key pair generation and private key hash to improve performance.
- Refactored DatabaseService to include LRU caching for encrypted accounts, reducing database query times.
- Introduced a search bar in SelectAccountScreen for filtering accounts, enhancing user experience.
- Adjusted UI components for better spacing and consistency.
- Updated build.gradle.kts to support Java 17 and Room incremental annotation processing.
- Modified gradle.properties to include necessary JVM arguments for Java 17 compatibility.
2026-01-09 01:33:30 +05:00

120 lines
3.8 KiB
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
// kotlin("kapt") // Временно отключено из-за проблемы с Java 21
}
android {
namespace = "com.rosetta.messenger"
compileSdk = 34
defaultConfig {
applicationId = "com.rosetta.messenger"
minSdk = 24
targetSdk = 34
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
javaCompileOptions {
annotationProcessorOptions {
arguments += mapOf(
"room.schemaLocation" to "$projectDir/schemas",
"room.incremental" to "true"
)
}
}
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
freeCompilerArgs += listOf(
"-Xjvm-default=all"
)
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.4"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
}
dependencies {
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2")
implementation("androidx.activity:activity-compose:1.8.2")
implementation(platform("androidx.compose:compose-bom:2023.10.01"))
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material3:material3")
// Accompanist for pager and animations
implementation("com.google.accompanist:accompanist-pager:0.32.0")
implementation("com.google.accompanist:accompanist-pager-indicators:0.32.0")
// Navigation
implementation("androidx.navigation:navigation-compose:2.7.6")
// DataStore for preferences
implementation("androidx.datastore:datastore-preferences:1.0.0")
// Foundation for pager (Compose)
implementation("androidx.compose.foundation:foundation:1.5.4")
// Icons extended
implementation("androidx.compose.material:material-icons-extended:1.5.4")
// Lottie for animations
implementation("com.airbnb.android:lottie-compose:6.1.0")
// Coil for image loading
implementation("io.coil-kt:coil-compose:2.5.0")
// Crypto libraries for key generation
implementation("org.bitcoinj:bitcoinj-core:0.16.2")
implementation("org.bouncycastle:bcprov-jdk15to18:1.77")
// Security for encrypted storage
implementation("androidx.security:security-crypto:1.1.0-alpha06")
// Room for database
implementation("androidx.room:room-runtime:2.6.1")
implementation("androidx.room:room-ktx:2.6.1")
// kapt("androidx.room:room-compiler:2.6.1") // Временно отключено
// Biometric authentication
implementation("androidx.biometric:biometric:1.1.0")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
androidTestImplementation(platform("androidx.compose:compose-bom:2023.10.01"))
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
debugImplementation("androidx.compose.ui:ui-tooling")
debugImplementation("androidx.compose.ui:ui-test-manifest")
}