-
Notifications
You must be signed in to change notification settings - Fork 229
Expand file tree
/
Copy pathbuild.gradle
More file actions
120 lines (103 loc) · 3.96 KB
/
build.gradle
File metadata and controls
120 lines (103 loc) · 3.96 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
117
118
119
120
apply plugin: 'com.android.application'
apply plugin: 'org.jetbrains.kotlin.android'
def sdkVersionFile = file("../gradle.properties")
def properties = new Properties()
sdkVersionFile.withInputStream { stream ->
properties.load(stream)
}
def agoraSdkVersion = properties.getProperty("rtc_sdk_version")
println("${rootProject.project.name} agoraSdkVersion: ${agoraSdkVersion}")
def localSdkPath= "${rootProject.projectDir.absolutePath}/../../sdk"
android {
namespace "io.agora.api.example"
compileSdk 35
defaultConfig {
applicationId "io.agora.api.example.audio"
minSdkVersion 24
targetSdkVersion 35
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
myConfig {
storeFile new File(rootProject.rootDir.absolutePath + "/keystore.key")
storePassword "965606"
keyAlias "agora"
keyPassword "965606"
v1SigningEnabled true
v2SigningEnabled true
}
}
buildTypes {
debug {
minifyEnabled false
signingConfig signingConfigs.myConfig
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled true
signingConfig signingConfigs.myConfig
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
sourceSets {
main {
jniLibs.srcDirs += 'src/main/jniLibs'
if(new File("${localSdkPath}").exists()){
jniLibs.srcDirs += "${localSdkPath}"
}
}
}
buildFeatures{
viewBinding true
buildConfig true
}
applicationVariants.all {
variant ->
variant.outputs.all { output ->
outputFileName = new File(rootProject.name
+ "_" + agoraSdkVersion
+ "_" + new Date().format("yyyyMMddHHmm") + ".apk")
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
if(new File("${localSdkPath}").exists()){
implementation fileTree(dir: "${localSdkPath}", include: ['*.jar', '*.aar'])
}
else{
// case 1: full single lib with voice only
implementation "io.agora.rtc:voice-sdk:${agoraSdkVersion}"
// case 2: partial libs with voice only
// implementation "io.agora.rtc:voice-rtc-basic:${agoraSdkVersion}"
// implementation "io.agora.rtc:spatial-audio:${agoraSdkVersion}"
// implementation "io.agora.rtc:audio-beauty:${agoraSdkVersion}"
// implementation "io.agora.rtc:aiaec:${agoraSdkVersion}"
// implementation "io.agora.rtc:drm-loader:${agoraSdkVersion}"
// implementation "io.agora.rtc:drm:${agoraSdkVersion}"
}
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.8.22"
// Java language implementation
implementation "androidx.navigation:navigation-fragment:2.7.0"
implementation "androidx.navigation:navigation-ui:2.7.0"
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.3.2'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
implementation 'io.github.luizgrp.sectionedrecyclerviewadapter:sectionedrecyclerviewadapter:1.2.0'
implementation 'de.javagl:obj:0.2.1'
implementation "com.squareup.okhttp3:okhttp:4.10.0"
implementation "com.squareup.okhttp3:logging-interceptor:4.10.0"
}