Android打包设置shrinkResources true引发的问题
2017-05-06 18:09
393 查看
这两天遇到一个奇怪的问题,release版本app发聊天信息时部分表情不显示,在debug版本又正常。一直不明白怎么回事,因为如果是图片替换出错应该是所有表情都显示不出来,这着实怪异。
之前也没想过会不会是资源文件的问题,直到将apk解压缩后查看表情的图片才发现问题所在:部分表情图片文件只有1k且只显示1个像素。这时才发现是打包release版本时在build.gradle中将shrinkResources设置为true。
shrinkResources为true在打包时会删除没有用到的资源。正好表情图片是根据聊天信息中的标识匹配显示的,而且是动态获取资源id,所以在打包时将其删除了。但为什么不是所有表情都删除,这点弄不明白。
当我尝试将shrinkResources设置为false,果然,表情都能显示出出来了。不过既然shrinkResources为true会优化apk的大小去除无用资源,那么是否将之前没用到的表情图片在代码中引用就好了。于是在项目代码中引用所有表情图片的id,再次打包测试,问题解决
之前也没想过会不会是资源文件的问题,直到将apk解压缩后查看表情的图片才发现问题所在:部分表情图片文件只有1k且只显示1个像素。这时才发现是打包release版本时在build.gradle中将shrinkResources设置为true。
shrinkResources为true在打包时会删除没有用到的资源。正好表情图片是根据聊天信息中的标识匹配显示的,而且是动态获取资源id,所以在打包时将其删除了。但为什么不是所有表情都删除,这点弄不明白。
当我尝试将shrinkResources设置为false,果然,表情都能显示出出来了。不过既然shrinkResources为true会优化apk的大小去除无用资源,那么是否将之前没用到的表情图片在代码中引用就好了。于是在项目代码中引用所有表情图片的id,再次打包测试,问题解决
相关文章推荐
- Android APP打包和manifest文件里设置的APP图标和名称不一样及resources-release-stripped.ap_' specified for property '问题解决
- Android shrinkResources true 引发的血案
- android 签名打包和出现的问题transformClassesAndResourcesWithProguardForRelease
- 【Android】Unity 打包时设置横屏splash Image不居中问题
- Android使用toolbar设置了fitSystemWindows = “true”的时候当edittext弹出了软键盘时toolbar被拉伸的问题
- Android 使用Jenkins打包解决':app:mergeReleaseResources'.问题
- 设置android:supportsRtl="true"无效问题
- 使用shrinkResources true遇到的问题
- android Relativelayout 某控件设置layout_alignParentRight=true,整行不显示问题
- Android学习笔记——解决设置了android:layout_alignParentBottom="true"的控件会被弹出的输入法顶上去的问题
- 设置android:supportsRtl="true"无效问题
- jqGrid的autoencode参数设置为true在客户端可能引发的编码问题
- Android gradle issue: WARNING [Project: :app] shrinkResources does not yet work with useJack=true
- Android APN的设置问题--进一步讨论 推荐
- 转【备忘】android 文本颜色和背景的设置问题
- 关于将RadioButtonList的AutoPostBack属性设置为"True"获取子项时候引起回发的问题解决方法
- Android问题集锦之六:Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE 错误的解决与模拟器内存的设置与查看
- android的多分辨率支持机制 由anyDensity设置导致OpenGL贴图不能显示的问题谈开
- Android 关于屏幕的设置问题
- ie6字体设置13px引发的问题