refactor(mdm): 抽象IMdmManager接口并支持多平台构建

移除AdminManager具体实现,引入IMdmManager接口以实现平台解耦。
重构MainActivity,通过接口调用MDM功能。
新增honor、huawei、emui产品变体,支持多平台编译。
添加AGENTS.md开发规范文件。
This commit is contained in:
2026-08-04 18:01:18 +08:00
parent e7d342644a
commit e3bf43caeb
13 changed files with 1353 additions and 571 deletions

View File

@@ -37,9 +37,6 @@ android {
//选择要添加的对应 cpu 类型的 .so 库。
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86'
}
buildConfigField "String", "platform", '"honor"'
}
compileOptions {
@@ -53,6 +50,25 @@ android {
aidl true
}
// 平台维度honor荣耀 MagicOS/ huawei华为 MDM Kit/ emui华为 EMUI
flavorDimensions "platform"
productFlavors {
honor {
dimension "platform"
versionNameSuffix "_honor"
buildConfigField "String", "PLATFORM", '"honor"'
}
huawei {
dimension "platform"
versionNameSuffix "_huawei"
buildConfigField "String", "PLATFORM", '"huawei"'
}
emui {
dimension "platform"
versionNameSuffix "_emui"
buildConfigField "String", "PLATFORM", '"emui"'
}
}
buildTypes {
debug {
@@ -73,17 +89,27 @@ android {
applicationVariants.all { variant ->
variant.outputs.each { output ->
def buildType = variant.buildType.name
def flavorName = variant.flavorName
if (buildType.contains("debug")) {
output.outputFileName = "app_debug.apk"
output.outputFileName = "app_${flavorName}_debug.apk"
} else {
output.outputFileName = "${appName()}_${variant.versionCode}_V${variant.versionName}_${releaseTime()}_${buildType}.apk"
output.outputFileName = "${appName()}_${flavorName}_${variant.versionCode}_V${variant.versionName}_${releaseTime()}_${buildType}.apk"
}
}
}
}
dependencies {
compileOnly files('libs/magic-android-34.38.1.200.jar')
// 荣耀 MDM SDKcompileOnly仅编译期
honorCompileOnly files('libs/magic-android-34.38.1.200.jar')
// 华为 MDM KitcompileOnly仅编译期
huaweiCompileOnly 'com.huawei.mdm:mdmkit:11.1.0.300'
// 华为 HEM License SDK可选需要授权校验时放开
//huaweiImplementation 'com.huawei.hms:hemsdk:1.0.4.303'
// 华为 EMUI MDM SDKcompileOnly仅编译期
emuiCompileOnly files('libs/hw_emui_11.0.1_20210408.jar')
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'