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

问题分析(2)

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

问题现象:

奇酷壁纸未生效,壁纸为google原生壁纸 分析过程如下: A:从手机取出framework-res.apk解压后,查找default_wallpaper.jpg,发现drawable-xhdpi、drawable-sw720dp-nodpi、drawable-sw600dp-nodpi包含default_wallpaper.jpg默认壁纸。 而脚本处理的默认壁纸是放置到drawable-nodpi中,编译结果在drawable-nodpi中确无default_wallpaper.jpg。

B:在Android 6.0编译中,aapt打包时新增一个参数PRODUCT_AAPT_PREF_CONFIG。

该参数根据手机屏幕分辨率将优化非优选资源。

C:在device/mediatek/common/aapt/aapt_config.mk中根据产品分辨率定义了PRODUCT_AAPT_PREF_CONFIG的值是xhdpi。

由于drawable-nodpi与drawable-xhdpi都包含default_wallpaper.jpg,根据优选规则将删除drawable-nodpi中default_wallpaper.jpg而保留drawable-xhdpi中default_wallpaper.jpg。

解决方案:

http://10.100.13.26:8080/#/c/8831/

6、 第三方应用dex2otad校验不通过导致编译报错。

问题现象:

在userdebug版本未出现该问题,在user版本该编译报错必现。 分析过程如下:

A:从编译日志看,在编译BY_3RD_EmailMaster第三方应用,需要对该应用进行预编译处理,在dex2oatd时需要校验class中method,校验不通过导致编译失败。

B:手动执行下面命令报错必现,删除BY_3RD_EmailMaster第三方应用编译正常,确认是BY_3RD_EmailMaster导致编译报错。

解决方案:

更新BY_3RD_EmailMaster第三方应用 http://10.100.13.26:8080/#/c/9402/

7、 Android JACK研究

Jack (Java Android Compiler Kit)是新的Android 编译工具,从Android 6.0 开始加入,替换原有的编译工具,例如javac, ProGuard, jarjar和 dx。它主要负责将java代码编译成dex包,并支持代码压缩,混淆等。

git源代码地址是https://android.googlesource.com/toolchain/jack。

Jill 是 Jack Intermediate Library Linker 的缩写,它负责“Shielding JACK from Java byte code”;实际上辅助 Jack 对.class 做预处理,生成 .jack 文件。 git源代码地址是https://android.googlesource.com/toolchain/jill。

JACK编译流程如下: Jack (.java –> .jack –> .dex) Jill 预处理过程的流程图:

Jack 编译过程的流程图:

各种依赖库仍然以 jar/aar的形式存在。

辅助工具 Jill 将根据依赖库中的 .class 生成Jayce格式的 IL,并调用 Jack 做 pre-dex并生成 .jack,此过程只在编译 app 时发生一次。

Jack 将 java 源代码也编译为 .jack,然后将多个 .jack 转化为单一的 .dex; 如果dex方法数超过 65k, 就生成classes.dex, classes1.dex?classesN.dex。

Jack使用帮助如下:

Jill使用帮助如下:

参考资料:

https://software.intel.com/zh-cn/android/articles/an-introduction-to-jack-and-jill-on-x86?utm_source=CSDN.com&utm_medium=Syndication&utm_campaign=Android_PRC_Q1-16 https://yq.aliyun.com/articles/40811

https://source.android.com/source/jack.html http://arui.me/index.php/archives/57/

https://android.googlesource.com/toolchain/jack?spm=5176.100239.blogcont40811.6.ywJ3xw

http://tools.android.com/tech-docs/jackandjill?spm=5176.100239.blogcont40811.35.D9ooo7

8、 状态栏显示异常问题分析

问题现象:

启动一个应用后,状态栏中时间数字、sim卡图标、电池图标显示异常。 问题分析:

A:显示正常时图标的颜色是白色透明,背景是黑色的。启动应用后,systemUI根据应用传递的flag将图标设置为黑色,而在低内存状态下,systemUI将状态栏设置为不透明状态,导致字体图标和背景颜色一致,显示异常。

解决方案:

关闭低内存状态,systemUI根据ro.config.low_ram值为false,显示状态栏为透明状态。 http://10.100.13.26:8080/#/c/9080/

9、 WTWD对外环境版本不开机问题分析

问题现象:

WTWD对外环境版本无法开机,对比对内版本正常开机 分析过程如下:

A:WTWD对外环境User版本烧写debug版本boot.img,抓取日志。从日志看zygote进

程起来后加载libart.so失败,后面的systemserver进程都没有起来。

B:孙飞虎将对内环境user版本中boot.art替换不开机版本中boot.art,抓取日志,发现zygote进程正常加载libart.so。初步确认是boot.art文件问题。

C:分析对比对内环境和对外环境的boot.art的差异。对内环境qiku-service、qiku-framework、qiku-feature采用源码编译,对外环境采用jar包编译。怀疑编译方式导致boot.art文件问题。

D:boot.art文件是通过dex2oatd进行odex打包到boot.oat中,怀疑对外编译环境bootclass打包方式有问题,将qiku-feature、qiku-framework、systeminterface静态打包到framework中,qiku-service静态打包到service中验证依旧是不开机,而且日志一样。

E:从boot.art的生成联想到之前dex2oatd校验systeminterface编译报错和dex2oatd校验BY_3RD_EmailMaster编译报错,前者通过关闭验证解决编译报错问题,后者BY_3RD_EmailMaster在debug版本运行直接Crash,通过更新BY_3RD_EmailMaster解决编译问题。怀疑该问题与dex2oatd有关系。但是编译日志打印出来信息较少,只是说明systeminterface校验有问题,与BY_3RD_EmailMaster编译报错打印信息类似。

F:取systeminterface源码编译,发现在编译环境下编译报错,修改编译报错后版本正常开机。确认是systeminterface.jar问题,dex2oatd校验systeminterface.jar中的方法,关闭校验虽然可以编译通过,但是会掩盖systeminterface.jar自身代码问题。

解决方案:

更新systeminterface.jar

备注:后续遇到dex2oatd相关校验导致编译报错问题,首先需要确认编译来源有没有问题。dex2oatd会校验prebuild中apk、jar中class。

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

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