性能测试Android性能优化安卓开发

一步一步实现简单安卓性能监控SDK之回顾安卓编译过程

2017-03-27  本文已影响96人  孔祥子看天下

该篇文章是系列<一步一步实现简单安卓性能监控SDK>第一篇文章,欢迎关注!

从一幅图片说起

学过安卓开发的人,特别是自己曾经写过安卓自定义打包插件的开发者,对于如下的图片肯定是不会陌生!

APK编译过程.png

由于自己编写app打包插件需要对app编译过程中的几乎每一个细节都要了解。我们开发性能监控sdk也是如此。我们从以下几个角度来看。每一个阶段做了什么? 使用了什么工具? 输入是什么输出是什么?

过程分析

我们根据图片,从左到右,从上往下的顺序。

Android资源打包

工具 : 工具AAPT
描述:编译资源文件为java索引文件
输入:android resource。包括res文件夹,assert文件夹中的内容以及AndroidMenifest.xml文件中。
输出:R.java 、以及bin目录下面的resource_

AIDL文件处理

工具:编译器
描述:处理AIDL接口定义为Java文件
输入:源码文件、aidl文件、framework.aidl文件
输出 : java文件

编译java源代码为class文件

工具:编译器
描述:编译java源代码为class文件,包括源代码以及过程中生成的java代码,例如R.java
输入:java源文件
输出:class文件

dx处理class文件为davik支持的字节码文件

工具:dx命令
描述: dx处理class文件为davik支持的字节码文件。这些文件包括自己的源码生成的class 以及 第三人jar包中的class文件
输入:class文件
输出:dex文件

打包所有资源为未签名的apk

工具: apkbuilder
描述:把apk所需的资源,例如resource、dex文件、AndroidMenifest.xml so文件等等,这些资源打包。
输入:resource、dex文件、AndroidMenifest.xml so文件等等
输出:未签名apk

签名apk

工具;jarsigner
描述:对apk文件签名
输入 :未签名APK
输出 :签名APK

对齐

工具:zipalign
描述:对apk进行优化、对齐。不优化,有些市场是不让上传的!
输入:未对齐apk
输出:对齐APK

大概就这样,性能监控apk如果要做到自动埋点。需要对整个过程聊熟于心!!!

上一篇下一篇

猜你喜欢

热点阅读