重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果是系统应用里的mtk属于安卓底层工具,没有它android无法正常运行,一般情况在软件卸载软件里面无法发现,root的手机建议使用360安全管家卸载系统应用,系统的底层mtk关系到硬件驱动,建议不要卸载,大部分国产手机都是mtk平台的。(额外知识)mtk极其强大,可以在android手机上做许多事情,甚至包括编写Linux驱动核心程序,可以让你的手机像电脑一样,简单一点的可以直接加大外置喇叭电流,达到增加声音效果,可以去学习一下,之后就不会想卸载它了,卸载之后一般情况会无法开机,mtk有多个模块,不清楚的情况下建议别卸载。
成都创新互联是一家专业提供金安企业网站建设,专注与做网站、成都网站建设、H5响应式网站、小程序制作等业务。10年已为金安众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
(1) Debug/LOG 方面,原则上user 版本只能抓到有限的资讯,eng 可以抓到更多的资讯,Debug 能力更强,推崇使用eng 版本开发测试
* 因user/eng 版本设置ro.secure不同,导致user 版本adb 只拥有shell 权限,而eng 版本具有root 权限
* MTK System LOG 在ICS 以后,在user 版本默认关闭全部LOG, 在eng 版本中默认打开,以便抓到完整的资讯
* 在eng 版本上,LOG 量 = user 版本的log 量,一些地方会直接check eng/user 版本来确认是否打印LOG
* user 版本默认关闭uart, eng 版本默认开启uart
* 在eng 版本上,开启ANR 的predump, 会抓取ftrace,可以得到更多ANR的资讯
* 在eng 版本上,可用rtt 抓取backtrace,可开启kdb 进行kernel debug, 可用ftrace 抓取cpu 执行场景
* MTK aee 在ENG 版本抓取更多的异常资讯,比如native exception 会抓取core dump 信息
(2) 性能方面,原则上进行性能测试请使用user 版本测试
* user 版本为提高第一次开机速度,使用了DVM 的预优化,将dex 文件分解成可直接load 运行的odex 文件,ENG 版本不会开启这项优化
* 更少的LOG 打印,uart 的关闭,原则上user 版本的性能要优于eng 版本
(3) 如何确认user/eng 版本
* Java 层,check android.os.Build 类中的TYPE 值
* native 层,property_get("ro.build.type", char* value, "eng"); 然后check value 值
* Debug 时, adb shell getprop ro.build.type 返回值如果是user 即user 版本,eng 即eng 版本
* Log 确认, mobile log/Aplog_xxxxx/versions 中查看ro.build.type 属性
(4) 如何编译user/eng 版本
* 默认编译是eng 版本,如果需要编译user 版本,请加入参数 -o=TARGET_BUILD_VARIANT=user 如:
./mk -o=TARGET_BUILD_VARIANT=user mt6577_phone new
default.prop和/system/build.prop
简单讲:android是软件,mtk是硬件。
mtk之前大多是用linux,java,比如中国山寨机大多数用mtk架构;当然,mtk上也可放android;
打个类似的比分:android就像是windows,mtk就像是各种电脑主机