当前位置: 首页 > news >正文

网站图片滚动素材/优化大师tv版

网站图片滚动素材,优化大师tv版,大莲网站建设公司,怎么做装球的网站1、m:编译整个安卓系统 makes from the top of the tree 2、mm:编译当前目录下的模块,当前目录下需要有Android.mk这个makefile文件,否则就往上找最近的Android.mk文件。 builds all of the moudles in the current directory …

1、m:编译整个安卓系统

makes from the top of the tree

2、mm:编译当前目录下的模块,当前目录下需要有Android.mk这个makefile文件,否则就往上找最近的Android.mk文件。

builds all of the moudles in the current directory

mma:当前目录新增或删除文件后,可以用mma重新编译。

3、mmm:编译指定路径下的模块,指定的路径下面需要有Android.mk这个makefile文件

builds all of the moudles in the supplies directory

mmma:指定目录下新增或删除文件后,可以用mmma重新编译。

mmm命令 的编译过程:

build/core/main.mk(是Android编译系统的入口文件)

->build/core/config.mk(会定好编译类型和目标文件)

->build/core/definitions.mk(定义在编译过程中用到的宏)

->ONE_SHOT_MAKEFILE->build/core/package.mk(编译Apk库文件)

->build/core/java_library.mk(编译Java库文件)

->build/core/static_java_library.mk(编译Java静态库文件)

->build/core/shared_library.mk->build/core/dynamic_library.mk->build/core/binary.mk->build/core/base_rules.mk

( 计算一些基本变量的值,并创建一些基本的依赖规则)

->build/core/static_library.mk(编译.a静态库文件)

->build/core/executable.mk(编译可执行文件)

->build/core/prebuilt.mk(编译已经预编译好的第三方库文件)

->build/core/Makfile(有system.img、boot.img、recovery.img等镜像文件生成规则)

环境变量ONE_SHOT_MAKEFILE中存放要编译模块的Android.mk的文件路径,如果环境变量值为空,表示执行的是m或者make命令,会对Android源代码中的所有模块进行编译。

mm、mmm是类似的,都是用来编译某些模块。

在修改部分代码的时候,只需要替换一部分差异代码块时,需要进行模块编译

(1)先找到最近是Android.mk,阅读相关内容,判断,该模块编译生成的是否是动态库。(Java库与C库不同,C库中静态库为.a文件,动态库为.so文件,Java的动态库为jar包)

关于apk安装相关的代码在frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java 文件中,对该文件进行修改后,寻找Android.mk进行编译。

(2)在离文件最近的Android.mk在frameworks/base/services/core目录中,其中内容如下:

    LOCAL_MODULE := services.core //表示这个模块编译后的名称将会是services.core

    include $(BUILD_STATIC_JAVA_LIBRARY)  //表示模块将编译成静态库

  • 静态库就是直接将需要的代码连接进可执行程序;动态库就是在需要调用其中的函数时,根据函数映射表找到该函数然后调入堆栈执行。

所以静态库将会被引用,相对而言,动态库就能达到将修改部分移动至系统中的效果。

(3)接下来,一般情况,将搜寻的范围扩大,向上级目录寻找,能把修改部分的代码编译成动态库的Android.mk

以搜寻静态库名称services.core 为主。但是有一些模块在引用时会出现一些语法,将静态库名称进行拼接,这时以静态库名称查找将会很吃力。

在搜静态库名称之前,先查看上一级目录是Android.mk是否有对应的语法。

在修改PackageManagerService.java时,就是这个情况。

在这里它将所有需要的静态库模块进行了拼接。

(4)最后它将引用include $(BUILD_JAVA_LIBRARY) 来编译出Java模块的名称为“services.jar”。最后只需要将编译出的模块拷贝到系统对应的目录即可。

这需要注意,这里编译的内容并不在services.jar中,而是在oat目录中。

许多Android的ROM包在生成过程中都启用优化,把jar文件抽空,生成odex/oat和vdex文件,以在运行时省掉编译时间。

http://www.jmfq.cn/news/5273137.html

相关文章:

  • 网站模板如何修改域名/如何开网站呢
  • wap免费建站/公司网站制作模板
  • 凡科可以做淘客网站吗/安卓手机优化神器
  • 怎么给做的网站做百度搜索/怎么创建一个网址
  • 郑州网站建设预订/做一个推广网站大概多少钱
  • 网站接入服务商是什么/网络培训心得体会总结
  • 佛山网站制作建设/2023年7 8月十大新闻
  • b2b网站建设方案/企业网站建设报价表
  • 深圳建设网站费用/朝阳网站seo
  • 黄骅网站建设/google官网
  • 网站开发能用udp协议吗/市场调研的方法有哪些
  • 深圳企搜网站建设/网络营销的内涵
  • wordpress电影采集/seo研究中心倒闭
  • 南通网站建设排名公司/网站快速优化排名软件
  • 天津 交友 网站建设/在线crm
  • 桂林小学网站建设/品牌营销公司
  • p2p网上贷款网站建设方案.docx/seoaoo
  • 蚌埠百度做网站/社群营销是什么意思
  • 济南企业网站制/搜索广告是什么意思
  • 有独立IP如何建设网站/百度推广关键词排名规则
  • 免费的网站生成app/网站网络营销公司
  • 个人网站怎么设计/重庆网站推广软件
  • 怎么做淘宝网站赚钱技巧/竞价排名采用什么计费方式
  • 网站的域名分为哪些/珠海百度seo
  • 湛江网站设计/灯塔网站seo
  • 网站用什么做备份/seo策略分析
  • 做亚马逊运营要看哪些网站/b站怎么推广
  • 设计网站的一般过程/产品推广活动策划方案
  • 江门网站开发/成免费的crm
  • 娱乐彩票网站建设制作/手机百度电脑版入口