最近在用AndroidStudio开发一个小计算器,代码加起来还不到200行。但是遇到一个问题,导出的APK文件大小竟然达到了1034K。这不科学,于是就自己动手精简APK。下面我们大家一起学习怎么缩小一个APK的大小,以hello world为例。

新建工程,最低版本支持2.3.3,其他默认。工程目录是这样的:

我们直接签名导出APK,看看大小如何,1M啊!( ⊙ o ⊙ ) 什么鬼:

怎么可能呢是吧?都还没有写代码呢,就已经1M了。检查一下代码,我们会发现,工程里自动添加了V7的向下兼容包,为了使低版本(4.0以下)的Android能够使用高版本(4.0及以上)的特性。

一、       如果我们用不上这个兼容包就可以将其删除,File-->ProjectStructure-->app-->Dependencies(快捷键:Ctrl+Shift+Alt+S),即类似这样命名的包com.android.support:appcompat-v7:22.2.0

二、       删除之后,项目就开始报错了。这时要删除menu资源文件里面的showAsAction属性和更改Styles.xml资源文件:

将被标上红线的代码删掉:

更改Style.xml资源文件:

  1. <style name="AppTheme" parent="android:Theme.Light">
  2. </style>

三、       更改类文件继承的对象为Activity

  1. public class MainActivity extends Activity

导入Activity包和移除不必要的包

四、       这时只要clean一遍项目,你会发现已经没有错了。

五、       我们直接导出APK看看现在的大小如何,简直是差了天那么大:

 

六、       可以选择开启ProGuard:http://developer.android.com/tools/help/proguard.html

参考:

http://blog.csdn.net/tim_yip/article/details/47022875

http://www.2cto.com/kf/201608/540670.html

http://www.cnblogs.com/soaringEveryday/p/5254520.html

最新文章

  1. git: 修改commiter 信息
  2. 乐校园单车项目第一天——购买Apple开发者账号、创建SVN
  3. Unity和Android互相调用
  4. CDC 2013 北京站手记
  5. jsp应用
  6. 《BI那点儿事》数据流转换——导入列、导出列
  7. 第一章 Javscript的数据类型
  8. gitHub入门指导
  9. [编辑中] 免费的Internet流量发生器 | Free Internet Traffic Generators
  10. HDU 1385 Minimum Transport Cost 最短路径题解
  11. POJ 3070 Fibonacci(矩阵高速功率)
  12. LVS原理讲解
  13. python基础(str,list,tuple)
  14. #0 scrapy爬虫学习中遇到的坑记录
  15. RelativeLayout设置wrap_content无效
  16. 机器学习笔记之三-yolov3+win7+vs2017+gpu+opencv编译
  17. CC2541之串口调试PM2.5传感器
  18. 实际生产用法CMS和G1
  19. JavaSE| 流程控制
  20. freeswitch黑名单mod_blacklist使用

热门文章

  1. js原生跨域--用script标签实现
  2. java中File类的使用
  3. 0034 Java学习笔记-反射-初步2-操作对象
  4. [Hadoop in Action] 第1章 Hadoop简介
  5. 如何在github上下载单个文件夹?
  6. Fragment之间传值
  7. Swift和Objective-C混编注意事项
  8. 用ORM的思想操作XML文档,一个对象就搞定不要太简单。滚蛋吧!XmlDocument、XmlNode、Xml***……
  9. JSP动作元素——————实践篇
  10. webform控件