▪
CMCC
终端管理为
CMCC
从
2017/3/1
日起入库要求的功能,本文档介绍了如何适配
CMCCSDK
▪
终端
管理的主要实现由
CMCC
通过
SDK
提供,
MTK
仅提供平台接口供
CMCCSDK
使用
▪
需求
来源
•
终端管理及服务系统总体技术要求
V1.0.0.doc
•
终端管理终端技术规范
V1.0.1.pdf
•
终端管理接口规范(终端能力开放接口分册)
V1.0.1.pdf
•
终端管理客户端
SDK
集成文档
(V1.0.47)-1.docx
•
终端管理客户端集成适配
FAQ.docx
•DM自测试用例V1.5.xlsx
▪
CMCC
入库分为“合作型”、“深度合作型”、“战略合作型”,
其中
•
“深度合作型”
和“战略合作型”要求手机内
不能预置
其他运营商的
DM
软件
•
“合作型”不对其他运营商
DM
软件作要求
▪
MTK
默认配置适用于“深度合作型”和“战略合作型”
▪
“合作型”需要进行额外的配置
▪
在后续适配指南中,会在
标题
标注适用的合作类型
▪
请向
CMCC
申请
SDK
和
appkey
•
客户需要
自行向
CMCC
申请
获取终端管理
SDK
和
appkey
•
appkey
的值需要写入
vendor/
mediatek
/proprietary/operator/OP01/packages/apps/
ctm
/AndroidManifest.xml
的
<meta-data>
中,如果
appkey
填写不正确,则无法在管理平台上看到相应的上报记录,造成测试失败
en-US'>
▪
请用
CMCC
终端管理
SDK
中
jniLibs
的内容覆盖
vendor/
mediatek
/proprietary/operator/OP01/packages/apps/
ctm
/
jni_libs
中的内容
▪
请
用
CMCC
终端管理
SDK
中
libs/dm_sdk_v
X
.
Y
.
Z
.jar
放置到
vendor/
mediatek
/proprietary/operator/OP01/packages/apps/
ctm
/libs
中
▪
请修改
vendor/mediatek/proprietary/operator/OP01/packages/apps/ctm/Android.mk
中的内容,将
libdmyksdk
的库文件名字修改为
dm_sdk_v
X
.
Y
.
Z
.jar
▪
CMCC
终端管理规范要求
上报设备固件版本号,
MTK
的默认实现会从
device/<vendor>/<project>/
custom.conf
中的
dm.SoftwareVersion
获取,请将这里的值修改为您所希望的值
▪
或者您也可以直接修改
vendor/
mediatek
/proprietary/operator/OP01/packages/apps/
ctm
/
src
/com/
dmyk
/android/telephony/DmykTelephonyManager.java
中
的
getDeviceSoftware
▪
CMCC
终端管理规范要求上报设备类型,
《
终端管理接口规范(终端能力开放接口分册)
V1.0.1
》
定义了可选的设备类型
▪
此
类型需要客户
手动修改
vendor/
mediatek
/proprietary/operator/OP01/packages/apps/
ctm
/
src
/com/
dmyk
/android/telephony/DmykTelephonyManager.java
中的
getDeviceType
()
方法,使其返回右边表中的某个值。
Version
()
的返回值
▪
本
功能对应的
FeatureOption
是
MTK_CTM_SUPPORT
,默认为关闭,请自行在您项目的
ProjectConfig.mk
中开启
•
修改
/device/<vendor>/<project>/ProjectConfig.mk
▪
在
其中添加
MTK_CTM_SUPPORT=yes
▪
CMCC
《
终端管理终端技术规范
V1.0.1》TS-DM-FUNC-BAS-000003
要求需要在首次开机向导或者用户隐私条款中添加终端管理功能的用户说明
▪
MTKTK Solution
不包括开机向导,所以
请客户自行添加
▪
CMCC
终端管理规范要求终端管理功能不能被软件管理软件发现或卸载,
MTK
默认不支持此功能,但是提供参考改法
▪
请修改
vendor/
mediatek
/proprietary/operator/OP01/frameworks/packages/
FwkPlugin
/
src
/com/
mediatek
/op/
ctm
/CtmOPExt.java
文件中的
getName
()
方法,使其返回
vendor/
mediatek
/proprietary/operator/OP01/packages/apps/
ctm
/AndroidManifest.xml
中定义的
package
名字
iv>
▪
修改
/device/<vendor>/<project
>/device.mk
▪
添加
PRODUCT_PROPERTY_OVERRIDES+=
ro.mtk_ctm_flag
=1
▪
编译后,可以通过
adb
shell
getprop
ro.mtk_ctm_flag
检查是否设置成功
▪
目前
apk
的程序名称是“
DM
测试版”,由于
CMCC
要求不要出现
DM
字样,所以请修改
res/string.xml
中的
app_name
,使用其他字样,例如
CTM
:
▪
应
CMCC
要求,在正式测试时,应该关闭调试
log
▪
将
vendor/
mediatek
/proprietary/operator/OP01/packages/apps/
ctm
/
src
/
cn
/
richinfo
/
dm
/CtmApplication.java
中
onCreate
()
方法中的
DMSDK.setDebugMode
(true)
修改为
DMSDK.setDebugMode
(
false
)
▪
将
vendor/
mediatek
/proprietary/operator/OP01/packages/apps/
ctm
/
src
/com/
dmyk
/android/telephony/DmykTelephonyManager.java
中
MLog.sEnable
改为
false
▪
由于
MTK
针对“合作型”客户提供的配置不会开启
OP01
的部分,所以需要将
vendor/
mediatek
/proprietary/operator/OP01/packages/apps/
ctm
文件夹搬出来放到
vendor/
mediatek
/proprietary/packages/apps/
ctm
▪
此外,
请
修改
vendor/
mediatek
/proprietary/frameworks/base/packages/
FwkPlugin
/
src
/com/
mediatek
/op/
ctm
/CtmExt.java
文件
中的
getName
()
方法,使其返回
vendor/
mediatek
/proprietary/operator/OP01/packages/apps/
ctm
/AndroidManifest.xml
中定义的
package
名字
▪
其他配置同“深度合作型”及“战略合作型”的配置一致
Downd