这篇文章描述了怎样减少你的APK大小,这会让更多的用户愿意下载你的应用。 理解APK的结构 在讨论怎样减少应用大小之前,先了解APK的结构是有用的。...减少资源个数和尺寸 APK的大小会影响应用加载的速度,使用的内存大小,消耗的电量大小。一个最简单的缩小APK大小的方式是减少资源的个数和大小。...特别地,你能移除应用中不再使用的资源,你也能使用可缩放的Drawable对象代替图片文件。这节讨论一些通过减少资源从而减少APK大小的方法。...更多信息,请看Create WebP Images Using Android Studio。 使用向量图 你能使用向量图去创建一个分辨率无关的图标。使用向量图能够显著减少APK大小。...为了给用户创建小的下载包,你能把你的应用拆分成多个APK,这些APK的差别在于一些因素(比如屏幕大小或者GPU纹理支持)。 当一个用户下载了应用,设备根据自身的特性和设置获取正确的APK。
删、缩、挪 删 保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs。 使用proguard混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安装包的大小。...缩 使用Lint工具查找没有使用到的资源。去除不使用的图片,String,XML等等。 assets目录下的资源请确保没有用不上的文件。...生成APK的时候,aapt工具本身会对png做优化,但是在此之前还可以使用其他工具如tinypng对图片进行进一步的压缩预处理。...jpeg还是png,根据需要做选择,在某些时候jpeg可以减少图片的体积。可以使用webp图片。 有选择性的提供hdpi,xhdpi,xxhdpi的图片资源。...能用代码绘制实现的功能,尽量不要使用大量的图片。例如减少使用多张图片组成animate-list的AnimationDrawable,这种方式提供了多张图片很占空间。
代码 保持良好的编程习惯,不要重复或者不用的代码,谨慎添加libs,移除使用不到的libs。 使用proguard混淆代码,它会对不用的代码做优化,并且混淆后也能够减少安装包的大小。...资源 使用Lint工具查找没有使用到的资源。去除不使用的图片,String,XML等等。 assets目录下的资源请确保没有用不上的文件。...生成APK的时候,aapt工具本身会对png做优化,但是在此之前还可以使用其他工具如tinypng对图片进行进一步的压缩预处理。...jpeg还是png,根据需要做选择,在某些时候jpeg可以减少图片的体积。 对于9.png的图片,可拉伸区域尽量切小,另外可以通过使用9.png拉伸达到大图效果的时候尽量不要使用整张大图。...能用代码绘制实现的功能,尽量不要使用大量的图片。例如减少使用多张图片组成animate-list的AnimationDrawable,这种方式提供了多张图片很占空间。
当然,使用图片这种在项目中也很常见,如果不考虑 apk 大小,内存占用问题的话,是没有任何问题的。如果要给 apk 瘦身,减少内存占用,那么本文 Drawable 的价值就提现出来了。...很方便得到一个矩形,圆,椭圆,圆环,很容易维护和修改 很方便实现圆角,渐变(线性渐变,径向渐变,扫描渐变) 代替图片作为 View 的背景,减少 apk 的体积(减少 apk 体积最明显最有效的步骤就是去掉图片...) 大图片耗内存,使用 Drawable 节省内存,Android 本身对 Drawable 做了很好的优化(内存优化需要考虑) 什么情况下选择使用Drawable,而不是使用一张图,反之呢?...--如果布局中没有设置View的大小,会size设置的大小为默认值--> <size android:width="20dp" android:height="20dp...跟图片的使用一模一样,关键是使用系统 Drawable 可以减少 apk 的体积,减少内存占用等好处,所以,不要觉得简单就不系统学习,越简单的东西越要熟练掌握。
,来减少PNG文件的大小… 通过tinypng确实能在尽量少的损失下再减小apk,如果图片资源多或者大的话,效果还是很明显的。...具体减少多少,因为这个处理过程我们是间隔做的,无法准确给出结果,就按200k~500k算吧。...android 4.0+才原生支持webp, 但是我们的app是兼容2.3+,所以4.0以下的设备将无法看到图片。...全版本兼容的着色方案 考虑着色方案主要目的是更方便支持多主题,减轻UI工作量,减少工程里一大堆selector文件等,然后才是,顺便的减小一下apk大小。...使用更小的库 使用更小的库不应该成为你选择方案的决定性因素,但是可以作为参考因素(freso确实太大了,这个大小也可以成为决定性因素)。
你无法分辨加载日期操作功能的时刻。 要解决这个问题,我使用内置的webpack IgnorePlugin忽略此消息。...这允许你仅导入你使用的Vuetify组件。这会减少Vuetify的大小。挑战在于我们有如此多的应用程序正在进行并试图确定我们正在使用的组件不会改变。...总结 我的目标是减少为我们的应用程序生产而创建的包的大小。 我的构建的初始大小是2.48MB。 通过进行一些更改,我能够将构建大小减少到1.2MB。 这几乎减少了50%。...如果要创建生产环境Vue应用程序,则应该花时间来评估构建大小。 使用webpack-bundle-analyzer确定哪些项目占用的空间最多。 然后开始采取必要步骤来减少这些项目的大小。...我能够通过这种方式减少捆绑中四个最大项目的大小。 希望对你有帮助,能按照这些步骤来减少生产构建包的大小。
本文是对 Analyze Your Build with APK Analyzer 的翻译。 Android Studio 2.2包含了APK Analyzer,通过它我们能够直观地看到APK的组成。...使用APK Analyzer不仅能够减少你花在debug上的时间,而且还能减少你的APK大小。使用APK Analyzer,你能够实现: 查看APK中文件的绝对大小和相对大小。...(译注:新版APK和旧版APK之间文件大小的差异) 这里有3种方法访问APK Analyzer: 拖拽APK到Android Studio的编辑窗口。 切换到Project视图,并且双击APK文件。...v=ZiP3BGVpE9E 注意:当使用APK Analyzer分析debug的APK,请使用Build > Build APK生成的APK。点击Run将会生成Instant Run的APK。...图4:一个使用了multi-dex的应用。 比较APK文件 APK Analyzer能比较两个不同APK中各个实体的大小。这对于我们了解为何你的APP相比上个版本变大了是很有用的。
你无法分辨加载日期操作功能的时刻。 要解决这个问题,我使用内置的webpack IgnorePlugin忽略此消息。...这允许你仅导入你使用的Vuetify组件。这会减少Vuetify的大小。挑战在于我们有如此多的应用程序正在进行并试图确定我们正在使用的组件不会改变。...image.png 总结 我的目标是减少为我们的应用程序生产而创建的包的大小。 我的构建的初始大小是2.48MB。 通过进行一些更改,我能够将构建大小减少到1.2MB。 这几乎减少了50%。...如果要创建生产环境Vue应用程序,则应该花时间来评估构建大小。 使用webpack-bundle-analyzer确定哪些项目占用的空间最多。 然后开始采取必要步骤来减少这些项目的大小。...我能够通过这种方式减少捆绑中四个最大项目的大小。 希望对你有帮助,能按照这些步骤来减少生产构建包的大小。
很多时候我们需要从Android端获取崩溃日志,但是手动adb比较麻烦。这时候就应该使用AndroidStudio了。...使用AndroidStudio进行Profile 导入APK到IDE中 选择需要启用调试的设备,也可以是真机(需要开启USB调试) 使用logcat轻松获取当前Log,如果信息过多 你可以直接用Unity
第一步:下载逆向助手 第二步:将apk文件拷贝到逆向助手的apktool目录,在逆向助手的apktool目录下按住shift同时点击鼠标右键,选择“在此处打开命令窗口,即CMD” 第三步:在cmd命令行中输入命令...apktool d -f 应用程序名,得到以apk名字命名的文件夹,里面可以直接看到res目录下的资源文件和Android的清单文件,但是看不到Java文件 第四步:双击打开Android逆向助手....exe,选中“提取dex”操作,然后将lib\apktool目录下的apk拖动到源文件中;点击“操作”,得到dex文件 第五步:选中“dex转jar”操作,然后将得到的dex文件拖动到源文件中;点击
shrinkResources true // 是否去除无效的资源文件 } } 二、减少不必要的打包 defaultConfig { ......它包括相同的 ProGuard 规则,但还包括其他在字节码一级(方法内和方法间)执行分析的优化,以进一步减小 APK 大小和帮助提高其运行速度。...文件: -dontusemixedcaseclassnames: 表示混淆时不使用大小写混淆类名。...APK Analyser 分解你的 APK Android Studio 提供了一个有用的工具:APK Analyser。...image.png 从 Apk Analyser 的输出来看,应用的原大小是 3.1MB。经过 Play 商店的压缩,大致是 2.5MB。
shrinkResources true // 是否去除无效的资源文件 } } 二、减少不必要的打包 defaultConfig { ......它包括相同的 ProGuard 规则,但还包括其他在字节码一级(方法内和方法间)执行分析的优化,以进一步减小 APK 大小和帮助提高其运行速度。...文件: -dontusemixedcaseclassnames: 表示混淆时不使用大小写混淆类名。...APK Analyser 分解你的 APK Android Studio 提供了一个有用的工具:APK Analyser。...从 Apk Analyser 的输出来看,应用的原大小是 3.1MB。经过 Play 商店的压缩,大致是 2.5MB。 从截图中可以看出主要有 3 个文件夹占据了应用的大多数空间。
Android使用Ant进行apk多渠道打包 前言: Ant 是什么?...准备工作: android sdk中默认支持使用ant来执行编译动作。但是要想使用ant来进行编译,还需要ant的执行环境。...为了能顺利使用ant来编译,我们需要如下准备: 1,android sdk,最简单的是下载一个adt bundle即可; 2,ant包,下载链接:http://ant.apache.org/bindownload.cgi...参考: 关于android编译生成apk的流程,可以参照http://www.oschina.net/code/snippet_16_6782, 其实有个偷懒的方式,就是借用 android sdk的tools...5,执行release动作; 6,针对4生成的unsigned apk 用自己的签名文件签名; 1 <!
一、简介:最小的rpm包管理器-godnf 在容器镜像场景,alpine总是让人着迷,拥有最小的包管理器apk,使得alpine的最小容器镜像大小可以只要7M, 大大的减小了基于此做的容器镜像大小。...但是alpine使用 musl libc,而不是 glibc 作为 C 库,可能会影响到一些应用的兼容性,如 NVIDIA 的官方 CUDA 驱动和工具包是针对基于 glibc进行构建和测试,musl...minimal 98.7MB microdnf package manager ubi9 230M dnf package manager Alpine: name size Desc alpine 7.8M apk...package manager 为什么dnf包管理器比apk要大很多了,主要因为dnf的功能复杂,引入的动态库非常多;对dnf做功能裁剪的话,目前来看非常困难。...ERROR, default:3 (default: 3) --help, -h show help --version, -v print the version 二、使用
——晏子 adb install 命令用于通过 Android Debug Bridge (ADB) 将应用程序(通常是 APK 文件)安装到连接的 Android 设备或模拟器上。...这是 Android 应用开发和测试过程中常用的命令,允许开发者直接从开发环境将应用安装到设备上。...使用方法 基本语法: adb install [options] apk> 其中 apk> 是 APK 文件在计算机上的路径。...--no-streaming: 通过 USB 安装大 APK 时不使用流式传输。 --fastdeploy: 使用 Fast Deploy 更新应用。...--incremental: 使用增量更新安装 APK。 --force-agent: 使用 Fast Deploy 强制使用安装代理,即使 APK 没有改变。
文章目录 一、涉及到的工具和脚本 二、使用 Python 编写 APK重打包工具 三、博客源码 一、涉及到的工具和脚本 ---- apktool.jar : 反编译 APK 文件使用到的工具 ; 参考...【Android 逆向】Android 逆向工具 ( Apktool | IDA | Python ) 一、Apktool 博客章节 ; aapt.exe : 资源打包工具 ; ApkTool.py :...这是一个 Python 脚本 , 主要是使用 apktool.jar 和 aapt.exe 工具 , 对 APK 文件进行各种操作 ; 该脚本是 【Android 逆向】APK 文件处理脚本 ApkTool.py...( 脚本简介 | 用法 | 分析 APK 文件 ) 博客中的脚本 ; 二、使用 Python 编写 APK重打包工具 ---- 程序结构 : apk 目录是存放所有的 apk 文件的 , 该目录中的文件可以被一次性处理.../APK
文章目录 一、Android 应用安装 二、APK 文件格式 三、使用 Python 提取 APK 文件 一、Android 应用安装 ---- APK 是 Android 应用的安装文件 , 现在也有...apk 文件拷贝到 /data/app/com.qidian.QDReader-GTqLCxuMlq6CJtnOVz1LgQ==/base.apk 位置 ; APK 安装目录参考 【Android 逆向...】应用安装目录 ( Android 应用的默认安装目录 | 查找 Android 应用的安装目录 | 查询当前正在运行的应用包名 | 根据包名查询应用安装路径 ) 博客 ; /data/data/package.name...---- Android 的 APK 安装包使用的数据格式就是 zip 格式 , 直接使用 zip 工具解压即可 , 也可以将文件命后缀改为 .zip 后解压 ; Zip 文件格式中 , 每个文件都是由...; 三、使用 Python 提取 APK 文件 ---- 使用 Python 提取 APK 文件完整代码 : import os # 如果没有使用 pip install zipfile 安装 import
在华为手机可以安装,却在oppo手机无法安装,这是怎么回事呢? 原来在打包问题上 之前仅仅只勾选了第二个,现在把两个都勾上,然后打包安装到oppo手机,完美解决!
领取专属 10元无门槛券
手把手带您无忧上云