Android Studio如何减小APK体积

最近在用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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js合并同类数组里面的对象_通过同类群组保留估算客户生命周期价值

js合并同类数组里面的对象This is Part I of the two-part series dedicated to estimating customer lifetime value. In this post, I will describe how to estimate LTV, on a conceptual level, in order to explain what we’re going to be doing in Part II with the P…

C#解析HTML

第一种方法&#xff1a;用正则表达式来分析 [csharp] view plaincopy 转自网上的一个实例&#xff1a;所有的href都抽取出来&#xff1a; using System; using System.Net; using System.Text; using System.Text.RegularExpressions; namespace HttpGet { c…

帮助开发人员学习

在浏览器中使用真实环境学习新技术 https://www.katacoda.com/ 转载于:https://www.cnblogs.com/zuxing/p/9829143.html

【转】SASS用法指南

SASS用法指南 阮一峰的&#xff0c;偏sass用法教程sass入门 偏实战的基础用法

com编程创建快捷方式中文_如何以编程方式为博客创建wordcloud?

com编程创建快捷方式中文Recently, I was in need of an image for our blog and wanted it to have some wow effect or at least a better fit than anything typical we’ve been using. Pondering over ideas for a while, word cloud flashed in my mind. &#x1f4a1;Us…

ETL技术入门之ETL初认识

ETL技术入门之ETL初认识 分类&#xff1a; etl2014-07-10 23:11 3021人阅读 评论(2) 收藏 举报数据仓库商业价值etlbi目录(?)[-] ETL是什么先说下背景知识下面给下ETL的详细解释定义现在来看下kettle的transformation文件一个最简单的E过程例子windows环境 上图左边的是打开表…

ActiveSupport::Concern 和 gem 'name_of_person'(300✨) 的内部运行机制分析

理解ActiveRecord::Concern&#xff1a; 参考:include和extend的区别&#xff1a; https://www.cnblogs.com/chentianwei/p/9408963.html 传统的模块看起来像&#xff1a; module Mdef self.included(base)# base(一个类)扩展了一个模块"ClassMethods"&#xff0c; b…

Python 3.8.0a2 发布,面向对象编程语言

百度智能云 云生态狂欢季 热门云产品1折起>>> Python 3.8.0a2 发布了&#xff0c;这是 3.8 系列计划中 4 个 alpha 版本的第 2 个。 alpha 版本旨在更加易于测试新功能和 bug 修复状态&#xff0c;以及发布流程。在 alpha 阶段会添加新功能&#xff0c;直到 beta 阶…

基于plotly数据可视化_如何使用Plotly进行数据可视化

基于plotly数据可视化The amount of data in the world is growing every second. From sending a text to clicking a link, you are creating data points for companies to use. Insights that can be drawn from this collection of data can be extremely valuable. Every…

关于Oracle实时数据库的优化思路

关于实时数据库的优化思路 背景 大概168个换热站机组&#xff0c;每套机组将近400个点&#xff0c;整体有6万多个点需要进行实时更新。数据库里其中有一个监控参数表(yxjk_jkcs)&#xff0c;每一个点位属性都在里面存放&#xff0c;其中有一个字段CS_VALUE 是存放被更新的实时…

【转】使用 lsof 查找打开的文件

在 UNIX 环境中&#xff0c;文件无处不在&#xff0c;这便产生了一句格言&#xff1a;“任何事物都是文件”。通过文件不仅仅可以访问常规数据&#xff0c;通常还可以访问网络连接和硬件。在有些情况下&#xff0c;当您使用 ls 请求目录清单时&#xff0c;将出现相应的条目。在…

ESLint简介

ESLint简介 ESLint是一个用来识别 ECMAScript 并且按照规则给出报告的代码检测工具&#xff0c;使用它可以避免低级错误和统一代码的风格。如果每次在代码提交之前都进行一次eslint代码检查&#xff0c;就不会因为某个字段未定义为undefined或null这样的错误而导致服务崩溃&…

数据科学与大数据是什么意思_什么是数据科学?

数据科学与大数据是什么意思Data Science is an interdisciplinary field that uses a combination of code, statistical analysis, and algorithms to gain insights from structured and unstructured data.数据科学是一个跨学科领域&#xff0c;它结合使用代码&#xff0c;…

C#制作、打包、签名、发布Activex全过程

一、前言 最近有这样一个需求&#xff0c;需要在网页上面启动客户端的软件&#xff0c;软件之间的通信、调用&#xff0c;单单依靠HTML是无法实现了&#xff0c;因此必须借用Activex来实现。由于本人主要擅长C#&#xff0c;自然本文给出了用C#实现的范例&#xff0c;本文的预期…

用Python创建漂亮的交互式可视化效果

Plotly is an interactive Python library that provides a wide range of visualisations accessible through a simple interface.Plotly是一个交互式Python库&#xff0c;通过简单的界面即可提供广泛的可视化效果。 There are many different visualisation libraries avai…

CCF 201809-1 买菜

问题描述| 试题编号&#xff1a; | 201809-2 | | 试题名称&#xff1a; | 买菜 | | 时间限制&#xff1a; | 1.0s | | 内存限制&#xff1a; | 256.0MB | 问题描述 小H和小W来到了一条街上&#xff0c;两人分开买菜&#xff0c;他们买菜的过程可以描述为&#xff0c;去店里买一…

笔试题③

1.线程间通信 handler机制 2.AsyncTask 异步任务 3.HandlerThread 子线程中创建了一个 Looper对象 可以在子线程里使用消息机制 IntentService 带了HandlerThread 并且创建了一个子线程的handler 在服务中 创建子线程执行耗时操作 耗时操作执行结束之后服务退出 如果想在Serv…

Hadoop 2.0集群配置详细教程

Hadoop 2.0集群配置详细教程 前言 Hadoop2.0介绍 Hadoop是 apache 的开源 项目&#xff0c;开发的主要目的是为了构建可靠&#xff0c;可拓展 scalable &#xff0c;分布式的系 统&#xff0c; hadoop 是一系列的子工程的 总和&#xff0c;其中包含 1. hadoop common &#xff…

php如何减缓gc_管理信息传播-使用数据科学减缓错误信息的传播

php如何减缓gcWith more people now than ever relying on social media to stay updated on current events, there is an ethical responsibility for hosting companies to defend against false information. Disinformation, which is a type of misinformation that is i…

[UE4]删除UI:Remove from Parent

同时要将保存UI的变量清空&#xff0c;以释放占用的系统内存 转载于:https://www.cnblogs.com/timy/p/9842206.html