77范文网 - 专业文章范例文档资料分享平台

问题分析

来源:网络收集 时间:2018-12-04 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

1、 分析waterworld编译出现的dex2oatd工程中验证报错导致编译中断问题。

分析结果如下: A:dex2otad对bootclass做dex2oatd转换成boot.oat时发生异常,单独执行也出现报错异常。

B:继续往上分析编译日志,dex2oatd对systeminterface做校验时中断编译。若dex2oatd不对systeminterface进行oat转换则不会报错,验证结果显示

C:dex2oatd的校验代码如下。该校验代码是google 5.1升级到6.0是添加。

当前systeminterface采用类似预编译的方式,将未优化的systeminterface放置到out对应的中间文件目录,其他文件依赖systeminterface可以获取到依赖。

D:将Systeminterface的编译采用源码进行编译,解决编译报错后,该校验可以通过。初步怀疑dex2oatd需要校验bootclass jar包中文件。在后续分析waterworld项目不开机问题中,确认是Systeminterface在该环境中编译报错导致校验不通过,dex2oatd需要校验bootclass中文件的方法。 解决方案:

更新Systeminterface.jar,该Systeminterface.jar在该环境中需要确保编译通过。

2、分析

http://10.100.11.10:8080/tfs/360 OS-Collection/PUB_LEProducts/_workitems#_a=edit&id=78935

拨号盘停止运行bug。

A:分析crash.log,发现报错如下,找不到对于的class导致crash。

B:查找PhoneNumberUtil.java,该文件位于

external/libphonenumber/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java中,该文件编译到libphonenumber和libphonenumber-platform这两个静态jar包中。

C:查找模块对libphonenumber的依赖如下,ContactsCommon、Messaging应用对libphonenumber是静态依赖。

D:查看framework/base/Android.mk,ext.jar静态依赖libphonenumber.jar,最终打包到ext.jar中,查看编译出来的ext.jar中间文件,的确也是打包到ext.jar中。

E:查看Bootclasspath,bootclass包含ext.jar,按照道理是可以找到PhoneNumberUtil.java这个类的。

F:查看ext.jar,发现包名是com.android.il8n,而报错代码是找com.google.il8n包名。查看源码的包名确是com.google.il8n

G:为什么包名方式改变?查看编译libphonenumber的Android.mk。编译libphonenumber-platform时加了LOCAL_JARJAR_RULES控制。

jarjar-rules.txt的描述如下

rulecom.google.** com.android.@1

该Rule将替换com.google为com.android包名,所以libphonenumber-platform编译出来的包名发生改变。

所以QK_DailerUI应用无法找到PhoneNumberUtil.java这个类。 解决方案:

1、 参考ContactCommon应用静态依赖libphonenumber.jar,将该Jar包打包到apk中。 2、 修改QK_DailerUI应用import的包名为com.android.il8n。

3、分析qiku-framework.jar编译没有输出未做dex优化的qiku-framework.jar,该jar包需要在搭建外部编译环境中使用。

A:当前编译出来的qiku-framework.jar的中间输出文件如下

对比编译qiku-feature.jar的中间输出文件如下

对比qiku-framework和qiku-feature的编译Android.mk,为发现明显的参数区别。 B:单独编译qiku-framework模块,查看编译日志如下

通常jar包编译工程.java-->.class-->jarjar-->proguard-->dx等流程,而当前编译qiku-framework是通过jack编译器进行编译的。

C:jack(Java Android Compile Kit)是Android 6.0的新特性,参考资料如下 http://arui.me/index.php/archives/57/

Android 6.0在编译时包时默认开启jack,所以在编译工程中没有中间调试文件生成。 解决方案:

在编译qiku-framework模块式关闭jack。 LOCAL_JACK_ENABLED := disabled

4、 分析Prize Z1语言配置问题。

问题现象:

Koobee要求语言保留中文、简体中文、英语三种语言。 分析过程如下:

A:进入设置语言和输入法是包含全语言种类,通常通过Locale类获取,而Locale类在运行时通过资源管理服务获取所支持的语言。而资源管理服务读取打包的资源种类获取支持语言。aapt打包工具通过PRODUCT_AAPT_CONFIG打包相关配置资源文件夹。与语言相关配置选项是PRODUCT_LOCALES。

B:在build/core/dumpvar.mk中打印PRODUCT_LOCALES变量值。

执行编译结果如下:

PRODUCT_LOCALES

:=

en_USzh_CNzh_TWes_ESpt_BRru_RUfr_FRde_DEtr_TRvi_VNms_MYin_IDth_THit_ITar_EGhi_INbn_INur_PKfa_IRpt_PTnl_NLel_GRhu_HUtl_PHro_ROcs_CZko_KRkm_KHiw_ILmy_MMpl_PLes_USbg_BGhr_HRlv_LVlt_LTsk_SKuk_UAde_ATda_DKfi_FInb_NOsv_SEen_GBhy_AMzh_HKet_EEja_JPkk_KZsr_RSsl_SIca_ES

C:通常情况在产品makefile文件配置PRODUCT_LOCALES覆盖之前的赋值,在360os_prebuilt.mk中加PRODUCT_LOCALES:=zh_CNen_USzh_TW配置,执行步骤B,打印出PRODUCT_LOCALES依旧不变。

D:查看360os_prebuilt.mk的调用过程如下:

./prize/pri6737t_66_m0/device.mk:214:$(call inherit-product, device/360OS/360os_prebuilt.mk)

./prize/pri6737t_66_m0/full_pri6737t_66_m0.mk:18:$(call inherit-product, device/prize/$(MTK_TARGET_PROJECT)/device.mk)

full_pri6737t_66_m0.mk中PRODUCT_LOCALES覆盖了360os_prebuilt.mk中PRODUCT_LOCALE,导致360os_prebuilt.mk未生效。

E:修改full_pri6737t_66_m0.mk中PRODUCT_LOCALES配置,执行步骤B,打印PRODUCT_LOCALES的值是PRODUCT_LOCALES:=zh_CNen_USzh_TW。 F:修改该值上传到服务器启动编译后,发现修改没有生效,查看

device/prize/pri6737t_66_m0/full_pri6737t_66_m0.mk,发现该值已经还原。在全代码查找full_pri6737t_66_m0.mk,确认是

/prize_project/pcba/a5/prize_base/device/prize/pri6737t_66_m0/full_pri6737t_66_m0.mk覆盖了该值。 解决方案:

http://10.100.13.26:8080/#/c/9218/

5、 分析默认壁纸不生效问题

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库问题分析在线全文阅读。

问题分析.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/336803.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: