2995840376 0ce191c448 chore: 初始化 iotsaas 版本库基线
纳入范围:
- 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
2026-10-27 12:00:41 +08:00

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
}
}
}