导航:首页 > 操作系统 > android快速编译

android快速编译

发布时间:2023-03-06 10:30:25

1. android编译打包流程详解

下图的是官网对于Android编译打包流程的介绍。

官方的介绍非常笼统,简而言之,其大致流程就是:
编译-->DEX-->打包-->签名和对齐

(好像什么都没Get到,有一种意犹未尽的感觉……)

来一张外国大神的图片(注:这张图少了签名的步骤)

用文字解释一下上图的流程:

首先,我们整理一下编译的输入部分是什么(图中黄色部分):

接下来的步骤:

好了,编译打包的详细流程说完了,接下来我们看看是否能回答开篇的那些问题。

答:aapt工具对于每个资源文件生成了唯一的ID,这些ID保存在R.java文件中。如下是R.java文件的内容:

资源ID是一个4字节的无符号整数,在R.java文件中用16进制表示。其中,最高的1字节表示Package ID,次高1个字节表示Type ID,最低2字节表示Entry ID。

只有一个ID如何能引用到实际资源呢?实际上aapt工具还生成了一个文件resources.arsc,相当于一个资源索引表,或者你理解成一个map也行,map的key是资源ID,value是资源在apk文件中的路径。resources.arsc里面还有其他信息,这个就不多说了。

通过R.java文件和resources.arsc配合,就能引用到实际的资源文件。

答:第7步已经阐述了对齐所做的工作,为什么要进行对齐,这是为了加快资源的访问速度。如果每个资源的开始位置都是上一个资源之后的 4*n字节,那么访问下一个资源就不用遍历,直接跳到4*n字节处判断是不是一个新的资源即可。

如果举例子,那么对齐有点类似于资源数组化,数组的访问速度当然比链表快。

答:xml里面都是各种字符,不利于快速遍历。编译成二进制文件,用数字替换各种符号,一方面能快速访问,另一方面也能减少大小。

https://developer.android.com/studio/build/index.html
http://www.alittlemadness.com/2010/06/07/understanding-the-android-build-process/
http://blog.csdn.net/luoshengyang/article/details/8744683
https://stackoverflow.com/questions/6517151/how-does-the-mapping-between-android-resources-and-resources-id-work
http://www.jianshu.com/p/eaaddfe34d11

2. 如何加快Android Studio的编译速度

作为一名Android程序员,选择一个好的IDE工具可以使开发变得非常高效,很多程序员喜欢使用Google的AndroidStudio来进行开发,但使用起来有时会出现卡顿等问题。本文介绍了几种优化AndroidStudio启动、编译、运行速度的方法。首先解决一个AndroidStudio启动报错的问题1、进入刚安装的AndroidStudio目录下的bin目录。找到idea.properties文件,用文本编辑器打开。2、在idea.properties文件末尾添加一行:disable.android.first.run=true,然后保存文件。3、关闭AndroidStudio后重新启动,便可进入界面。优化AndroidStudio启动速度1、开启gradle单独的守护进程当AndroidStudio遇到错误的时候,往往会导致AndroidStudio挂掉,为了防止推出程序,则另外开启一个线程来守护AndroidStudio的进程,具体操作。在C:\Users\.gradle这个目录下,创建gradle.properties配置文件,复制以下配置进行优化。#Project-wideGradlesettings.org.gradle.daemon=trueorg.gradle.jvmargs=-Xmx2048m-XX:MaxPermSize=512m-XX:+HeapDumpOnOutOfMemoryError-Dfile.encoding=UTF-8org.gradle.parallel=trueorg.gradle.configureondemand=true这些配置文件主要就是增大gradle运行的java虚拟机的大小,让gradle在编译的时候使用独立进程,让gradle可以很好的运行。2、扩大内存64位:\studio64.exe.vmoptionsorstudio.exe.vmoptions32位:\studio.exe.vmoptionsorstudio.exe.vmoptions编辑这个文件,在最开始的两行设置内存大小,类似于eclipse.ini中的配置。配置如下:-Xms256m-Xmx1024m3、优化编译时VM大小选择file->setting->compile添加如下参数:-Xmx1024m-XX:MaxPermSize=128m-XX:+HeapDumpOnOutOfMemoryError-Dfile.encoding=UTF-8具体参数大小视电脑配置而定。经过测试,编译速度有很大提升,比较大的项目从之前的5-8分钟可以减少到1-2分钟。OneAPMMobileInsight能够实时监测移动应用的真实用户体验,通过Agent实现端到端的应用性能分析。帮助用户提高发现应用问题的速度。并且可以深入到代码级进行应用性能问题剖析,通过可视化界面展示智能移动终端的实时运行状态。

3. 如何加快Android Studio 编译app 的速度

以下几个方法可以提高Android Studio的编译速度:

  1. Gradle 2.4对执行性能有很大的优化,要手动让Android Studio使用Gradle 2.4,在项目根目录下的 build.grade中加入。

    4. 如何提高android.mk的编译速度

    从eclipse转到Android studio,总觉得编译速度或者安装到手机上的速度会变很快,现实是仍然很慢,所以就搜如何提高build速度,安装真机上apk能快一点,步骤如下:
    1.修改android studio的使用堆内存,根据自己电脑的内存,尽量设置的大一点,点击help->如下图:
    2.接下来设置使用离线gradle构建,一开始就是使用了内置的默认路径gradle,勾选offline这个选项,编译的速度快的不止一点点,在.gradle的离线位置,建立一个gradle.properties的文件,设置精灵后台一直编译,这样提高了很多的速度

阅读全文

与android快速编译相关的资料

热点内容
直播用哪个app播放背景音乐 浏览:850
点歌机系统app在哪里下载 浏览:609
javadate类型转换string 浏览:694
RPG游戏解压后乱码 浏览:988
无线通信的几个密钥算法 浏览:644
王者荣耀app数据修复在哪里 浏览:429
基于单片机饮水机温度控制系统的设计 浏览:455
c中委托被编译后的结构 浏览:152
飞燕app怎么注销账号 浏览:895
cad命令缩小 浏览:154
linux发展史 浏览:629
服务器选用什么CPU比较好 浏览:334
明星怎么宣传安卓 浏览:953
8255芯片编程 浏览:65
java文件bat运行 浏览:747
java常见笔试 浏览:529
360程序员模式 浏览:363
AQS算法的查询树构造 浏览:329
小猪微信营销源码 浏览:12
阿里云服务器能连接打印机吗 浏览:176