-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
116 lines (93 loc) · 4.04 KB
/
build.gradle.kts
File metadata and controls
116 lines (93 loc) · 4.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("org.jetbrains.kotlin.plugin.serialization") version "1.9.20"
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
id("kotlin-parcelize")
id("com.google.gms.google-services")
}
// Optional override for local build directory (e.g. external storage issues on specific setups).
// If not provided, Gradle default build directory is used.
System.getenv("SCREENOPERATOR_BUILD_DIR")?.takeIf { it.isNotBlank() }?.let { customBuildDir ->
layout.buildDirectory = file(customBuildDir)
}
android {
namespace = "com.google.ai.sample"
compileSdk = 35
defaultConfig {
applicationId = "io.github.android_poweruser"
minSdk = 26
targetSdk = 35
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}
buildTypes {
create("samples") {
initWith(getByName("debug"))
}
}
sourceSets.getByName("samples") {
java.setSrcDirs(listOf("src/main/java", "src/main/kotlin", "../../samples/src/main/java"))
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.4"
}
}
dependencies {
implementation("androidx.core:core-ktx:1.9.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2")
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2")
implementation("androidx.activity:activity-compose:1.8.1")
implementation("androidx.navigation:navigation-compose:2.7.5")
// Required for Android Accessibility Service
implementation("androidx.core:core:1.9.0")
implementation("androidx.appcompat:appcompat:1.6.1")
// Required for one-shot operations (to use `ListenableFuture` from Guava Android)
implementation("com.google.guava:guava:31.0.1-android")
implementation("com.google.code.gson:gson:2.10.1")
// Required for streaming operations (to use `Publisher` from Reactive Streams)
implementation("org.reactivestreams:reactive-streams:1.0.4")
implementation(platform("androidx.compose:compose-bom:2024.02.01"))
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material3:material3")
implementation("io.coil-kt:coil-compose:2.5.0")
// Google Play Billing Library
implementation("com.android.billingclient:billing-ktx:7.1.1") // Latest version as per documentation
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.03.00"))
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
debugImplementation("androidx.compose.ui:ui-tooling")
debugImplementation("androidx.compose.ui:ui-test-manifest")
implementation("com.google.ai.client.generativeai:generativeai:0.9.0")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
implementation("androidx.localbroadcastmanager:localbroadcastmanager:1.1.0")
// MediaPipe GenAI for offline inference (LLM)
implementation("com.google.mediapipe:tasks-genai:0.10.32")
// Camera Core to potentially fix missing JNI lib issue
implementation("androidx.camera:camera-core:1.4.0")
// WebRTC
implementation("io.getstream:stream-webrtc-android:1.1.1")
// WebSocket for signaling
implementation("com.squareup.okhttp3:okhttp:4.12.0")
// Firebase
implementation(platform("com.google.firebase:firebase-bom:32.7.2"))
implementation("com.google.firebase:firebase-database")
}