纳入范围: - backend/ Spring Boot 多模块后端(iot-common/device/rule/data/alarm/auth) - frontend/admin/ Vue3 + Element Plus 管理后台 - Android/ 涂鸦原生 APP (com.xhai.iot) - backend/sql/ Flyway 风格迁移脚本(V2~V21) - docs/ 对接文档与设计文档 排除范围: - 构建产物: node_modules/ target/ build/ dist/ .gradle/ - 签名密钥: *.jks *.keystore (严禁入库) - 本机配置: Android/local.properties - 运行日志: logs/ *.log - AI 协作本地数据 .codebuddy/ 与第三方 demo tuya-demo/ .gitattributes 统一以 LF 存储, Windows 批处理保留 CRLF
191 lines
6.7 KiB
Groovy
191 lines
6.7 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'dagger.hilt.android.plugin'
|
|
|
|
android {
|
|
compileSdk 36
|
|
|
|
defaultConfig {
|
|
applicationId rootProject.ext.applicationId
|
|
namespace "com.tuya.smart.bizubundle.demo"
|
|
minSdkVersion 24
|
|
targetSdkVersion 36
|
|
versionCode 1
|
|
versionName "1.0"
|
|
multiDexEnabled true
|
|
|
|
Properties properties = new Properties()
|
|
properties.load(project.rootProject.file('local.properties').newDataInputStream())
|
|
manifestPlaceholders = [
|
|
TUYA_SMART_APPKEY : "${properties.getProperty("appKey")}",
|
|
TUYA_SMART_SECRET : "${properties.getProperty("appSecret")}",
|
|
APP_SCHEME_NAME : "${properties.getProperty("app_scheme")}",
|
|
INTERNAL_HOST : "${properties.getProperty("app_scheme")}".concat('.app.tuya.com'),
|
|
ALEXA_AUTH_INTERNAL_HOST : "${properties.getProperty("app_scheme")}".concat('.applink.smart321.com'),
|
|
ALEXA_AUTH_INTERNAL_HOST_NEW: "${properties.getProperty("app_scheme")}".toLowerCase(Locale.ENGLISH).concat('.applink.smart321.com'),
|
|
ALEXA_AUTH_INTERNAL_HOST_NEWER:"${properties.getProperty("app_scheme")}".toLowerCase(Locale.ENGLISH).concat('.applink.smart321.com'),
|
|
PACKAGE_NAME : applicationId
|
|
]
|
|
ndk {
|
|
abiFilters "armeabi-v7a", "arm64-v8a"
|
|
}
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
|
|
packagingOptions {
|
|
jniLibs.useLegacyPackaging=true
|
|
exclude "AndroidManifest.xml"
|
|
exclude "**/module-info.class"
|
|
exclude 'META-INF/LICENSE.txt'
|
|
exclude 'META-INF/NOTICE'
|
|
exclude 'META-INF/LICENSE'
|
|
exclude 'META-INF/NOTICE.txt'
|
|
exclude 'META-INF/INDEX.LIST'
|
|
exclude 'META-INF/maven/com.squareup.okio/okio/pom.properties'
|
|
exclude 'META-INF/maven/com.squareup.okio/okio/pom.xml'
|
|
exclude 'META-INF/android-offlinelog-api_release.kotlin_module'
|
|
exclude 'META-INF/android-offlinelog-upload_release.kotlin_module'
|
|
pickFirst 'lib/*/libc++_shared.so'
|
|
pickFirst 'lib/*/libgnustl_shared.so'
|
|
doNotStrip '*/mips/*.so'
|
|
doNotStrip '*/mips64/*.so'
|
|
pickFirst 'lib/*/libv8android.so'
|
|
pickFirst 'lib/*/libv8wrapper.so'
|
|
pickFirst 'lib/*/libopenh264.so'
|
|
pickFirst 'lib/*/libyuv.so'
|
|
pickFirst 'lib/*/liblog.so'
|
|
pickFirst 'lib/*/libbytehook.so'
|
|
pickFirst 'lib/*/libxdl.so'
|
|
pickFirst 'lib/*/libsqlcipher.so'
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility 1.8
|
|
targetCompatibility 1.8
|
|
}
|
|
packagingOptions {
|
|
exclude 'AndroidManifest.xml'
|
|
}
|
|
lintOptions {
|
|
abortOnError false
|
|
}
|
|
}
|
|
|
|
|
|
dependencies {
|
|
implementation fileTree(dir: "libs", include: ["*.jar","*.aar"])
|
|
|
|
|
|
implementation project(path: ':panel')
|
|
implementation project(path: ':mall')
|
|
implementation project(path: ':scene')
|
|
implementation project(path: ':ipc')
|
|
implementation project(path: ':cloudstorage')
|
|
implementation project(path: ':feedback')
|
|
implementation project(path: ':message')
|
|
implementation project(path: ':activator')
|
|
implementation project(path: ':ota')
|
|
implementation project(path: ':family')
|
|
implementation project(path: ':devicedetail')
|
|
implementation project(path: ':groupmanager')
|
|
implementation project(path: ':location')
|
|
implementation project(path: ':alexa_google_bind')
|
|
implementation project(path: ':lightscene')
|
|
implementation project(path: ':share')
|
|
implementation project(path: ':control')
|
|
implementation project(path: ':third_service')
|
|
implementation project(":miniapp")
|
|
implementation project(":marketing")
|
|
implementation project(":aibuds")
|
|
|
|
implementation "com.thingclips.smart:thingsmart-theme-open:2.0.7"
|
|
implementation "com.thingclips.smart:thingsmart-commonbiz-relation-api:4.5.0-rc.1"
|
|
// implementation "com.thingclips.smart:eaa-api:7.5.0.1"
|
|
|
|
//demo use only start
|
|
api "com.thingclips.smart:thingsmart:${sdk_version}"
|
|
|
|
implementation 'com.thingclips.smart:thingsmart-demo-login:4.5.3'
|
|
|
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
|
|
implementation "androidx.multidex:multidex:2.0.1"
|
|
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
|
|
|
//demo use only end
|
|
|
|
testImplementation 'junit:junit:4.12'
|
|
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
|
annotationProcessor "com.google.dagger:hilt-android-compiler:$hilt_version"
|
|
implementation "com.google.dagger:hilt-android:$hilt_version"
|
|
|
|
|
|
// api enforcedPlatform("com.thingclips.smart:thingsmart-BizBundlesBom:${biz_bom_version}")
|
|
// api "com.thingclips.smart:thingsmart-bizbundle-ipckit"
|
|
// api "com.thingclips.smart:thingsmart-bizbundle-ai_agent"
|
|
// api "com.thingclips.smart:thingsmart-bizbundle-google_pay"
|
|
// api "com.thingclips.smart:thingsmart-bizbundle-p2pkit"
|
|
// api "com.thingclips.smart:thingsmart-bizbundle-setting"
|
|
// api "com.thingclips.smart:thingsmart-bizbundle-wearkit"
|
|
// api "com.thingclips.smart:thingsmart-bizbundle-aistreamkit"
|
|
}
|
|
|
|
apply plugin: 'com.thingclips.open.theme'
|
|
thingOpenTheme {
|
|
// 浅色模式配置
|
|
lightTheme {
|
|
color {
|
|
// 背景色
|
|
backgroundColor "#EBB759"
|
|
// 主题色
|
|
themeColor "#598DEB"
|
|
// 警告色
|
|
warningColor "#FF4444"
|
|
// 提示色
|
|
tipColor "#00CC99"
|
|
// 引导色
|
|
guideColor "#E819FA"
|
|
|
|
|
|
// tab选中背景色
|
|
tabBarSelectColor "#FF5A28"
|
|
// 导航栏背景色配置
|
|
navigationBarColor "#FFFFFF"
|
|
}
|
|
colorAlpha {
|
|
// 弹窗蒙层透明度
|
|
alertMaskAlpha 0.3
|
|
}
|
|
}
|
|
// 深⾊模式配置
|
|
blackTheme {
|
|
color{
|
|
// 背景⾊
|
|
backgroundColor "#000000"
|
|
// 主题⾊
|
|
themeColor "#FF5A28"
|
|
// 警告⾊
|
|
warningColor "#FF4444"
|
|
// 提示⾊
|
|
tipColor "#00CC99"
|
|
// 引导⾊
|
|
guideColor "#1989FA"
|
|
// tab选中背景⾊
|
|
tabBarSelectColor "#FF5A28"
|
|
// 导航栏背景⾊配置
|
|
navigationBarColor "#1A1A1A"
|
|
}
|
|
colorAlpha{
|
|
// 弹窗蒙层透明度
|
|
alertMaskAlpha 0.8
|
|
}
|
|
}
|
|
}
|