首先是看了博客:http://blog.csdn.net/sw950729/article/details/64919051

时。认为大神我就是马云飞写的非常有道理。全部自己就自己写了一遍。长话短说:

在实际开发中,特别是多人接手迭代开发的项目中,随着时间的推移,项目会越来越大。所以让项目大小变小是能够例如以下操作:

1,在gradle使用minifyEnabled进行Proguard混淆的配置,可大大减小APP大小,例如以下面代码:

buildTypes {
release {
//开启混淆(as自带默认配置)
minifyEnabled ture
//去出没用的资源文件
shrinkResources true
//移除没用的Resources的资源文件
zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

2,删除无用资源,主要是xml文件,操作–点击Analyze——>Run Inspection by Name–然后输入unused Resources就可以显示出未使用的资源文件,其操作步骤为:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2lsbGJh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描写叙述" title="">

3,图片瘦身值熊猫大法–使用tinypng压缩图片,官方站点:https://tinypng.com

PNG是实用的,由于它是唯一广泛支持的格式,能够存储部分透明的图像。

格式使用压缩。可是文件仍然可能非常大。

使用TinyPNG缩小您的应用程序和站点的图像。它将使用更少的带宽和更快的载入。图片就不截取出来了。大家能够直接去官网查看了解。

4,通过重构Refactor来删除没用的资源(通过id找到),详细操作例如以下

通过Remove Unused Resources来删除没用的资源

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2lsbGJh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描写叙述" title="">

其中Refactor表示直接重构,Preview表示预览的意思,建议大家先使用预览的方式,由于代码中引用方式不同,所以存在代码中使用了某个资源,可是依旧被当成没有引用的情况,比如通过使用getIdentifier、Uri等方式。

5。针对不同cpu的so库进行打包,眼下仍就在试验其中

armeabi、armeabi-v7a(32的cpu)。armeabi-v8a(64位的cpu)和x86。

在其安装设备中,是默认以armeabi为选项,同一时候须要指出:打包出的x86的so,总会比armeabi平台的体积更小。可是却有性能的损耗。

假设项目仅仅包括了 armeabi,那么在全部Android设备都能够执行。

假设项目仅仅包括了 armeabi-v7a。除armeabi架构的设备外都能够执行;

假设项目仅仅包括了 x86,那么armeabi架构和armeabi-v7a的Android设备是无法执行的。

假设同一时候包括了 armeabi, armeabi-v7a和x86,全部设备都能够执行,程序在执行的时候去载入不同平台相应的so。这是较为完美的一种解决方式。同一时候也会导致包变大。

所以其操作为:

5.1为了减小apk体积,仅仅保留armeabi和armeabi-v7a两个目录。并保证这两个目录中so数量一致。

2,对仅仅提供aremabi版本号的第三方so。原样复制一份到armeabi-v7a目录

以上!

APK大小的瘦身的总结:的更多相关文章

  1. Android APK安装包瘦身[转]

    很显然,APK安装包越小越好.下面从代码,资源文件,使用策略几个方面简要介绍下: 代码 保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs. 使用proguard混淆 ...

  2. Android APK瘦身之Android Studio Lint (代码审查)

    ******** ******** 第一部分: 瘦身内容介绍 ******** ******** 项目新版本的迭代接近尾声, 因为历史累积问题, 导致有很多无效的资源让已经臃肿的APK变得更肿, 因此 ...

  3. 39、apk瘦身(转载)

    本文转自::Android开发中文站 » 关于APK瘦身值得分享的一些经验 从APK的文件结构说起 APK在安装和更新之前都需要经过网络将其下载到手机,如果APK越大消耗的流量就会越多,特别是对于使用 ...

  4. Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)

    Android XML shape 标签使用详解   一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...

  5. APK瘦身记,如何实现高达53%的压缩效果

    作者:非戈@阿里移动安全 1.我是怎么思考这件事情的 APK是Android系统安装包的文件格式,关于这个话题其实是一个老生常谈的题目,不论是公司内部,还是外部网络,前人前辈已经总结出很多方法和规律. ...

  6. APK瘦身实践

    首发地址:http://www.jayfeng.com/2015/12/29/APK%E7%98%A6%E8%BA%AB%E5%AE%9E%E8%B7%B5/ 因为推广的需要,公司需要把APK的大小再 ...

  7. 如何给你的Android 安装文件(APK)瘦身

    如何给你的Android 安装文件(APK)瘦身 本文翻译自:Putting Your APKs on Diet           原作者:Cyril Mottier Android的apk文件越来 ...

  8. APK瘦身

    APK瘦身 主要从一下三方面来瘦身: 1. Java 源代码 1) ,这方面主要是通过最简洁的代码实现最直接的功能,还有就是提出上线前不必要的java代码,可以使用UCDector进行分析,从而对代码 ...

  9. Android APK 瘦身 - JOOX Music项目实战

    导语 JOOX Music是腾讯海外布局的一个音乐产品,2014年发布以来已经成为5个国家和地区排名第一的音乐App.东南亚是JOOX Music的主要发行地区,由于JOOX Music所面对的市场存 ...

随机推荐

  1. [ Mongodb ] 问题总汇

    1. Mongodb备份 [root@localhost ~]# mongodump -h /users 2. Mongodb恢复 [root@localhost ~]# mongorestore - ...

  2. Laravel项目使用腾讯云对象存储上传图片(cos-php-sdk-v5版本)

    为了加快网站访问速度.降低网站负载,现在越来越多的网站选择把图片等静态文件放在云上,这里介绍一下腾讯云对象存储在Laravel项目中的使用 1.申请腾讯云对象存储.创建Bucket.获取APPID等参 ...

  3. android studio 自定义路径安装报错"You are attempting to install the android SDK

    android studio 自定义路径安装报错"You are attempting to install the android SDK 解决方法: 出现这个提示 主要是安装 Andro ...

  4. [BZOJ1492] [NOI2007]货币兑换Cash 斜率优化+cdq/平衡树维护凸包

    1492: [NOI2007]货币兑换Cash Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 5907  Solved: 2377[Submit][Sta ...

  5. [thinkphp] U方法域名支持

    域名支持如果你的应用涉及到多个子域名的操作地址,那么也可以在U方法里面指定需要生成地址的域名,例如: U('Blog/read@blog.thinkphp.cn','id=1'); @后面传入需要指定 ...

  6. .NET Core CLI

    NET Core 命令 一. 帮助命令 dotnet help 使用情况: dotnet [sdk-options] [command] [command-options] [arguments] 执 ...

  7. 训练指南 UVA - 11374(最短路Dijkstra + 记录路径 + 模板)

    layout: post title: 训练指南 UVA - 11374(最短路Dijkstra + 记录路径 + 模板) author: "luowentaoaa" catalo ...

  8. 洛谷——P1589 泥泞路

    P1589 泥泞路 题目描述 暴雨过后,FJ的农场到镇上的公路上有一些泥泞路,他有若干块长度为L的木板可以铺在这些泥泞路上,问他至少需要多少块木板,才能把所有的泥泞路覆盖住. 输入输出格式 输入格式: ...

  9. Mysql数据库的安装及配置

    本文转载自http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建 ...

  10. 【模拟】bzoj2760 [JLOI2011]小A的烦恼

    注意细节和初始化. #include<cstdio> #include<string> #include<algorithm> #include<iostre ...