[Mtk][M0] MT6750,Browser异常

MTK6750,Android6.0平台初始代码上有个 Browser 的坑。
当存在 GMS 包时,Browser会各种不正常,比如不能查看历史记录,不能查看保存的网页,没有退出选项等等异常......

但经过对比 6750M 和 6580M 的 vender/.../Browser 代码,发现差异很小,主要表现在 6750M 的代码多加了 null 的判断,按道理是不应该导致功能缺失等异常现象的。

下面vender/.../Browser 用 MtkBrowser 代替;packages/.../Browser 用 Browser 代替

最后对比两份 Android.mk 文件发现问题所在,在 6750M 平台 MtkBrowser 的 mk 文件最前面多了如下代码:

BUILD_BROWSER := yes

### START. 多出来的
ifdef BUILD_GMS
    ifeq ($(strip $(BUILD_GMS)), yes)
        BUILD_BROWSER := no
    endif
endif

ifdef MTK_A1_FEATURE
    ifeq ($(strip $(MTK_A1_FEATURE)),yes)
        BUILD_BROWSER := no
    endif
endif
### END. 多出来的

ifeq ($(strip $(BUILD_BROWSER)), yes)

上面多出来的代码就已经能说明问题了,GMS 存在的时候 BUILD_GMS=true,MtkBrowser 就不会参与编译了。而我们已知的是 MtkBrowser 会覆盖 Browser,当MtkBrowser 不存在了,Browser 就编译出来了,于是就出现了大把问题。

此外,MTK_A1_FEATURE=yes 时,也会出现同样的问题,MTK_A1_FEATURE代表什么没有详查,猜测可能和运营商定制有关系。

解决方法:
注释掉上面多出来的代码,让 MtkBrowser 的编译不受 BUILD_GMS 和 MTK_A1_FEATURE 的影响。

PS:GMS 中 Chrome 会默认override MtkBrowser。

你可能感兴趣的:([Mtk][M0] MT6750,Browser异常)