zoukankan      html  css  js  c++  java
  • 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资源文件:

    [html] view plain copy
     
     print?
    1. <style name="AppTheme" parent="android:Theme.Light">  
    2. </style>  

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

    [java] view plain copy
     
     print?
    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

  • 相关阅读:
    C++ 打印 vector
    使用 winsock 实现简单的 Client 和 Server
    Windows 10 Clion 配置 Opencv 4.0.1
    解决编译的时候头文件找不到的问题
    linux内核打印内存函数print_hex_dump使用方法
    ubuntu180
    驱动编译相关
    Real-Time Rendering 4th Chapter 1 Introduction 简介 转载
    do_gettimeofday使用方法
    6、设备树实践操作
  • 原文地址:https://www.cnblogs.com/kissfu/p/6110554.html
Copyright © 2011-2022 走看看