|
|
|
|
@ -18,22 +18,33 @@ if (keystorePropertiesFile.exists()) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
android {
|
|
|
|
|
// namespace = "com.ejada.hmg"
|
|
|
|
|
namespace = "com.cloudsolutions.HMGPatientApp"
|
|
|
|
|
compileSdk = 36
|
|
|
|
|
ndkVersion = "28.2.13676358"
|
|
|
|
|
// Using NDK 26 for better compatibility with Zoom SDK native libraries
|
|
|
|
|
ndkVersion = "27.0.12077973"
|
|
|
|
|
// ndkVersion = "25.1.8937393"
|
|
|
|
|
|
|
|
|
|
sourceSets {
|
|
|
|
|
getByName("main") {
|
|
|
|
|
jniLibs.srcDirs("src/main/jniLibs")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
defaultConfig {
|
|
|
|
|
// applicationId = "com.ejada.hmg"
|
|
|
|
|
applicationId = "com.cloudsolutions.HMGPatientApp"
|
|
|
|
|
// minSdk = 24
|
|
|
|
|
minSdk = 26
|
|
|
|
|
targetSdk = 36
|
|
|
|
|
targetSdk = 35
|
|
|
|
|
compileSdk = 36
|
|
|
|
|
// targetSdk = flutter.targetSdkVersion
|
|
|
|
|
versionCode = flutter.versionCode
|
|
|
|
|
versionName = flutter.versionName
|
|
|
|
|
multiDexEnabled = true
|
|
|
|
|
|
|
|
|
|
// Filter to arm64-v8a for better native library compatibility
|
|
|
|
|
ndk {
|
|
|
|
|
abiFilters += listOf("arm64-v8a", "armeabi-v7a")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
buildFeatures {
|
|
|
|
|
@ -84,7 +95,7 @@ android {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
packagingOptions {
|
|
|
|
|
packaging {
|
|
|
|
|
jniLibs {
|
|
|
|
|
pickFirsts += listOf(
|
|
|
|
|
"lib/x86/libc++_shared.so",
|
|
|
|
|
@ -94,9 +105,16 @@ android {
|
|
|
|
|
"**/*.so"
|
|
|
|
|
)
|
|
|
|
|
useLegacyPackaging = true
|
|
|
|
|
// Keep Zoom SDK libraries unstripped to preserve symbols
|
|
|
|
|
keepDebugSymbols += listOf(
|
|
|
|
|
"*/libzoom_util.so",
|
|
|
|
|
"*/libzoom_check.so",
|
|
|
|
|
"*/libc++_shared.so"
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
resources {
|
|
|
|
|
excludes += listOf("META-INF/proguard/androidx-annotations.pro")
|
|
|
|
|
excludes.add("lib/*/libc++_shared.so")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -129,9 +147,13 @@ dependencies {
|
|
|
|
|
implementation("com.google.code.gson:gson:2.12.0")
|
|
|
|
|
|
|
|
|
|
// Zoom SDKs
|
|
|
|
|
implementation("us.zoom.videosdk:zoomvideosdk-core:1.12.10")
|
|
|
|
|
implementation("us.zoom.videosdk:zoomvideosdk-annotation:1.12.10")
|
|
|
|
|
implementation("us.zoom.videosdk:zoomvideosdk-videoeffects:1.12.10")
|
|
|
|
|
// implementation("us.zoom.videosdk:zoomvideosdk-core:1.12.10")
|
|
|
|
|
// implementation("us.zoom.videosdk:zoomvideosdk-annotation:1.12.10")
|
|
|
|
|
// implementation("us.zoom.videosdk:zoomvideosdk-videoeffects:1.12.10")
|
|
|
|
|
|
|
|
|
|
implementation("us.zoom.videosdk:zoomvideosdk-core:2.1.10")
|
|
|
|
|
implementation("us.zoom.videosdk:zoomvideosdk-videoeffects:2.1.10")
|
|
|
|
|
implementation("us.zoom.videosdk:zoomvideosdk-annotation:2.1.10")
|
|
|
|
|
|
|
|
|
|
// Networking
|
|
|
|
|
implementation("com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11")
|
|
|
|
|
@ -189,5 +211,39 @@ dependencies {
|
|
|
|
|
implementation("com.whatsapp.otp:whatsapp-otp-android-sdk:0.1.0")
|
|
|
|
|
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
|
|
|
|
|
// implementation(project(":vitalSignEngine"))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
tasks.whenTaskAdded {
|
|
|
|
|
if (name.contains("merge") && name.contains("NativeLibs")) {
|
|
|
|
|
doLast {
|
|
|
|
|
val outputDir = File(project.buildDir, "intermediates/merged_native_libs/release/out/lib")
|
|
|
|
|
|
|
|
|
|
// Handle both architectures
|
|
|
|
|
val abis = listOf("arm64-v8a", "armeabi-v7a")
|
|
|
|
|
abis.forEach { abi ->
|
|
|
|
|
val targetFile = File(outputDir, "$abi/libc++_shared.so")
|
|
|
|
|
val sourceFile = file("src/main/jniLibs/$abi/libc++_shared.so")
|
|
|
|
|
|
|
|
|
|
if (sourceFile.exists() && targetFile.exists()) {
|
|
|
|
|
println("FORCING: Overwriting $abi version with known-good 1.2MB library")
|
|
|
|
|
sourceFile.copyTo(targetFile, overwrite = true)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//tasks.whenTaskAdded {
|
|
|
|
|
// if (name.contains("merge") && name.contains("NativeLibs")) {
|
|
|
|
|
// doLast {
|
|
|
|
|
// val outputDir = File(project.buildDir, "intermediates/merged_native_libs/release/out/lib")
|
|
|
|
|
// val targetFile = File(outputDir, "arm64-v8a/libc++_shared.so")
|
|
|
|
|
// val sourceFile = file("src/main/jniLibs/arm64-v8a/libc++_shared.so")
|
|
|
|
|
//
|
|
|
|
|
// if (sourceFile.exists()) {
|
|
|
|
|
// println("FORCE REPLACING: Injecting 1.2MB libc++ into APK...")
|
|
|
|
|
// sourceFile.copyTo(targetFile, overwrite = true)
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
//}
|