最近在用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资源文件:

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

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

public class MainActivity extends Activity
导入Activity包和移除不必要的包

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

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

六、       可以选择开启ProGuard:http://developer.android.com/tools/help/proguard.html
---------------------
作者:tim-yip
来源:CSDN
原文:https://blog.csdn.net/tim_yip/article/details/47022875
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/Im-Victor/p/10436004.html

Android Studio如何减小APK体积相关推荐

  1. Android Studio打包生成APK

    Android Studio打包生成APK 当我们编写好代码,测试号应用后,需要在真机环境下测试,这个时候要生成apk,具体步骤如下: 如图,点击Build > Generate Signed ...

  2. android studio获取数字签名,Android应用开发Android Studio数字签名打包apk图文步骤教程...

    本文将带你了解Android应用开发Android Studio数字签名打包apk图文步骤教程,希望本文对大家学Android有所帮助. Android Studio数字签名打包release版apk ...

  3. Android Studio项目打包:3、Android Studio生成的apk究竟在哪里?(非正式打包)

    以前11年那会刚干Android开发的时候用的开发工具是eclipse,现在大家都用的Android Studio, 当有的时候我们需要给相关人员演示apk效果,这时我们只需要快速运行打包apk而不是 ...

  4. android 自定义apk名,Android Studio 打包自定义apk文件名

    使用Android Studio打包的时候,我们有时候需要自定义apk的文件名,在此记录一下. 在app的build.gradle中,根节点下使用关键词def声明一个全局变量,用于获取打包的时间,格式 ...

  5. 《Android studio 创建生成keystore SHA1值的申请 高德地图key值申请 android studio 打包生成apk》

    开发背景:目前做车载项目,领导要求用高德地图.整理了一下,差不多就是下面的目录: 一.创建生成keystore: 二.SHA1值的申请: 三.高德地图key值申请: 四.android studio ...

  6. Android优化篇之APK体积优化

    在平常开发过程中,随着应用功能不断增加和版本功能迭代,APK的体积大小在不知不觉中不断增大,而APK体积大小会影响用户首次下载安装应用或更新应用的时长和流量消耗.因此,如何有效合理的优化APK的体积也 ...

  7. Android studio 自定义打包apk名

    Android Studio打包应用默认生成的apk名称是:app-release.apk .如果我们要让生成的apk名跟我们版本包名有联系的话,那我们就要自定义生成的apk名了 需要在build.g ...

  8. Android studio导出的apk在真机上安装提示“文件不存在或已失效”的解决方法

    假设Android studio当前的minSdk版本为API21,对应的Android版本是5.0,如果你的Android手机版本低于API21->Android5.0版本的,则导出的apk在 ...

  9. Android Studio如何发布APK

    转载自:http://blog.csdn.net/sunylat/article/details/9239595 (1)Android Studio菜单Build->Generate Signe ...

最新文章

  1. Spring 使用注解方式进行事务管理
  2. 中国靶材行业需求前景分析及发展形势研究报告2021版
  3. JQuery学习使用笔记 -- JQuery插件开发
  4. Linq to SQL之使用事务
  5. Activiti配置实例以及Spring集成配置
  6. java继承与多态性_Java继承与多态浅析
  7. 美国科学家研制出由病毒构成的微型电池
  8. 强化学习《基于策略价值 - Actor-Critic》
  9. Directfb【01】 基础模块和基本运行机制介绍 -- 源码结构分析图
  10. chrome driver 获取 session_BOSS直聘招聘信息获取之使用webdriver进行爬取
  11. PicGo+码云(gitee)图床环境搭建
  12. latex放一张大图在作者和正文之间
  13. Java中使用正则表达式
  14. 【PCB Layout】PCB布局布线经验总结
  15. 关于MPU6050学习的一些总结之一MPU6050芯片手册的整理
  16. 如何查html病毒svchost.exe,svchost是什么?怎样清除svchost.exe病毒?
  17. 爬虫项目开发与实践,附东方财富7x24小时实时信息代码
  18. c语言数组统计选票,C语言实现选票统计
  19. Zynga以特别的《CSR Racing 2》系列活动庆祝布加迪110周年
  20. python画三维坐标图像_由RGB-D图像获取三维坐标(相机坐标) Python

热门文章

  1. Julia中的denominator()函数
  2. nextgaussian_Java Random nextGaussian()方法与示例
  3. UVA 116——Unidirectional TSP
  4. node.js async await 配合Promise对象使用
  5. Ubuntu安装搭建Clion环境
  6. IO 多路复用之poll总结
  7. C++里数组名+1和数组名的地址+1的区别
  8. 07-图6 旅游规划 (25 分)
  9. 【Leetcode】33. 搜索旋转排序数组
  10. 【第十六章】模板实参推断