[DESCRIPTION]

工程模式中gsensor的校准需要用到em_svr这个service,但是因为build选项的原因,在user编译时,这段code没有被build,导致user版本工程模式中gsensor无法校准。

em_svr对应的android.mk文件路径:alps\vendor\mediatek\proprietary\packages\apps\EngineerMode\jni\server_em\Android.mk

ifeq ($(mtk_GMO_RAM_OPTIMIZE), yes)

LOCAL_MODULE_TAGS := eng

else

LOCAL_MODULE_TAGS := optional

endif

LOCAL_MODULE := em_svr

LOCAL_PRELINK_MODULE := false

include $(BUILD_EXECUTABLE)

上面的code可以看到这个build选项受宏:MTK_GMO_RAM_OPTIMIZE 控制;此宏是在文

件:alps\device\mediatek\$(project)\ProjectConfig.mk 中设定的。

MTK_GMO_RAM_OPTIMIZE = yes

若客户这个宏设定为yes,则em_svr在user编译时就会编译不到,工程模式中

gsensor无法校准。

[SOLUTION]

(1)在文件alps\device\mediatek\$(project)\ProjectConfig.mk 中设定

MTK_GMO_RAM_OPTIMIZE = no

MTK_GMO_RAM_OPTIMIZE = no

(2)若客户因为某些原因,必须设定 MTK_GMO_RAM_OPTIMIZE = yes ,则可以通过

下面的方法修改Android.mk文件来解决:

# ifeq ($(MTK_GMO_RAM_OPTIMIZE), yes)

# LOCAL_MODULE_TAGS := eng

# else

LOCAL_MODULE_TAGS := optional

# endif

LOCAL_MODULE := em_svr

LOCAL_PRELINK_MODULE := false

include $(BUILD_EXECUTABLE)

备注:

文档中的$(project) 表示客户的project name。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐