Android 8.1 MTK平台 导入GMS包后安装的应用无法启动, GoogleDialerGo

在Android 8.1 的代码里面,导入GMS包后发现系统应用可以正常运动,但安装的三方应用直接 就是闪退,一直以为是GMS导致的问题。

添加GMS 包(GooglepackageInstaller里面有LOCAL_OVERRIDES_PACKAGES MtkPackageInstaller ), 后安装的应用无法启动,闪退 

经过验证,发现是由于使用了google 的 GooglepackageInstaller,换成MtkPackageInstaller就可以了,根据GOOGLE 的要求,GooglepackageInstaller是mandatory的包。为什么使用GooglepackageInstaller安装应用会造成应用无法启动?

解决方法:

关闭这两个宏测试看下:
MTK_MOBILE_MANAGEMENT = no和MTK_PERMISSION_CONTROL = no。
这两个宏是mtk自己的权限管理。
安装了GMS后用的是google的,目前遇到的case会有冲突的情况,导致应用打不开。
所以需要关闭这两个宏。

因为安装了GMS后,是不需要使用MTK的权限管理的,所以关闭宏没有影响。

二,导入GoogleDialerGo 之后,拨号之后无法正常显示CallUI,

分析原因还是因为MTK把默认的Telecomm 从 packages\services 下移到了 vendor/mediatek/proprietary/packages/services 目录下去,导致GoogleDialerGo 里面的overlay 失效;

解决方法:修改GMS包 partner_gms\apps_go\GoogleDialerGo 目录 下的 overlay ,添加复制packages/services/Telecomm/res/values/config.xml,把文件夹名字改成下面这样, v endor/mediatek/proprietary/packages/services/Telecomm/res/values/config.xml

config.xml 内容修改后如下:


    
    com.google.android.dialer

    
    com.google.android.dialer.extensions.GoogleDialtactsActivity

    
    com.android.incallui.InCallServiceImpl

修改前内容:

    
    com.android.dialer

    
    com.android.incallui.InCallServiceImpl

    
    com.android.dialer.DialtactsActivity



你可能感兴趣的:(android)