plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("com.google.devtools.ksp")
id("kotlin-kapt")
id("com.chaquo.python")
}
android {
namespace = "com.jsd.digital"
compileSdk = 34
defaultConfig {
applicationId = "com.jsd.digital"
minSdk = 24
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
ndk {
abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86_64")
}
chaquopy {
defaultConfig {
buildPython("D:\\anaconda3\\envs\\face_re\\python.exe")
pip {
options("--extra-index-url", "http://pypi.mirrors.ustc.edu.cn/simple/")
options("--trusted-host", "pypi.mirrors.ustc.edu.cn")
install("opencv-python==4.5.1.48")
install("dlib==19.19.0")
install("opencv_contrib_python==4.5.1.48")
install("deepface==0.0.74")
install("tensorflow==2.1.0")
install("protobuf==3.20.0")
install("ffmpeg-python")
}
}
}
}
signingConfigs {
create("keyStore") {
storeFile = file("../digital.jks")
storePassword = "rootgbjiGfrvf6KG7khd8K67h6g56f9q"
keyAlias = "digital"
keyPassword = "rootgbjiGfrvf6KG7khd8K67h6g56f9q"
}
}
buildTypes {
val signConfig = signingConfigs.getByName("keyStore")
debug {
signingConfig = signConfig
}
release {
signingConfig = signConfig
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
buildFeatures {
viewBinding = true
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.4.3"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
ndkVersion = "28.0.12433566 rc1"
buildToolsVersion = "34.0.0"
kapt {
arguments {
arg("AROUTER_MODULE_NAME", project.name)
}
}
}
dependencies {
// 引用 base 模块
implementation(project(":base"))
// 登录模块
implementation(project(":login"))
implementation("com.google.accompanist:accompanist-systemuicontroller:0.35.0-alpha")
ksp("com.github.liujingxing.rxhttp:rxhttp-compiler:3.0.3")
// 初始化组件库的启动器
implementation("androidx.startup:startup-runtime:1.1.1")
// 防止不必要的异常 crash
implementation("com.github.SJJ-dot:Cockroach:2.0.1")
implementation("me.weishu:free_reflection:3.0.1")
// bugly
implementation("com.tencent.bugly:crashreport:4.1.9.3")
// curl
implementation("com.github.mrmike:ok2curl:0.8.0")
// 路由
kapt("com.alibaba:arouter-compiler:1.5.2")
// ksp("io.github.raamcosta.compose-destinations:ksp:2.0.0")
}
用于配置最新的Android studio项目的版本参考,版本号很重要。填的不对很容易编译失败。
其中重点的配置参数为:
ndk {
abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86_64")
}
chaquopy {
defaultConfig {
buildPython("D:\\anaconda3\\envs\\face_re\\python.exe")
pip {
options("--extra-index-url", "http://pypi.mirrors.ustc.edu.cn/simple/")
options("--trusted-host", "pypi.mirrors.ustc.edu.cn")
install("opencv-python==4.5.1.48")
install("dlib==19.19.0")
install("opencv_contrib_python==4.5.1.48")
install("deepface==0.0.74")
install("tensorflow==2.1.0")
install("protobuf==3.20.0")
install("ffmpeg-python")
}
}
}