比如frameworks\base\core\java\android\hardware\Camera.java,对应system\framework\framework.jar,怎么知道是对应framework.jar呢,framework\base有Android.mk文件,在base目录下就没有Android.mk文件了,见frameworks\base\Android.mk给出了依据:

include $(CLEAR_VARS)

# FRAMEWORKS_BASE_SUBDIRS comes from build/core/pathmap.mk

LOCAL_SRC_FILES := $(call find-other-java-files,$(FRAMEWORKS_BASE_SUBDIRS))

LOCAL_JAVA_LIBRARIES := core-oj core-libart core-lambda-stubs conscrypt okhttp core-junit bouncycastle ext //表示framework.jar链接(不是包含)这些jar文件,需要调用这些jar文件的类函数

LOCAL_MODULE := framework

include $(BUILD_JAVA_LIBRARY)//编译成jar类

LOCAL_SRC_FILES 告诉编译系统源代码目录,FRAMEWORKS_BASE_SUBDIRS在build\core\pathmap.mk定义如下

#
# A list of all source roots under frameworks/base, which will be
# built into the android.jar.
#
FRAMEWORKS_BASE_SUBDIRS := \$(addsuffix /java, \core \graphics \location \media \media/mca/effect \media/mca/filterfw \media/mca/filterpacks \drm \opengl \sax \telecomm \telephony \wifi \keystore \rs \)

Camera.java在core下,android编译系统就会把core下的java编译进来

在out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes.dex可以找到Camera.java的cameraInitVersion()函数

Camera.java首先被编译生成为

out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes\android\hardware\Camera.class,然后生成framework_intermediates\classes\class.jar,再是framework_intermediates\classes\classes.dex和classes2.dex,接着是out\target\product\msm8937_64\system\framework\arm和arm64下的boot-framework.oat,在此文件中我们找到了cameraInitVersion()函数

boot-framework.oat是android可以直接识别的文件。

Android系统framework的base目录下编译生成对应oat和art相关推荐

  1. android系统如何在静音模式下关闭camera拍照声音

    话说为了防止偷拍,业内有不成文规定,手机公司在做camera时,点击拍照和录像键的时候,必须要有提示音.因此,google也就非常人性化的将播放拍照声音的函数,放到了cameraService中,防止 ...

  2. android系统如何在静音模式下关闭camera拍照声音(2)

    之前写过一篇"android系统如何在静音模式下关闭camera拍照声音"的博客,今天来写他的续篇,继续探讨这个问题. 公司新需求,要求在camera应用中添加一个开关,可以进行拍 ...

  3. android 拷贝文件到其他目录下

    今天,讲讲如何拷贝文件到指定目录下. 一,简单的使用输入流进行拷贝. /** * 复制单个文件 * @param oldPath String 原文件路径 如:c:/fqf.txt * @param ...

  4. android流程点击开机键熄屏,一种基于android系统的灭屏状态下指纹解锁加速亮屏方法与流程...

    本发明涉及android系统解锁显示方法,尤其涉及一种基于android系统的灭屏状态下指纹解锁加速亮屏方法. 背景技术: 目前,随着指纹技术越来越普及,很多android系统设备都带有指纹外设,特别 ...

  5. Android系统分区理解及目录细解

    Android系统分区 分区种类 Android 通常有以下分区: System分区: 就是我们刷ROM的分区 Data分区:   分区就是我们装APK的分区 Catch分区:是缓存分区 SDCard ...

  6. android系统源码的环境下用make来编译,Android源码编译系统入门

    做过 Android 平台开发的朋友对make,mm或make clean命令应该很熟悉,但也许大家只是熟知这些命令的作用却不知道这些命令底下有些什么原理?那么今天我就带着大家推开Android编译系 ...

  7. android adbd代码在哪个目录下,Android源代码目录结构

    在讲述Android源码编译的三个步骤之前,将先介绍Android源码目录结构,以便读者理清Android编译系统核心代码在Android源代码的位置. Android源代码顶层目录结构如下所示: . ...

  8. Android 外部存储App私有目录下照片和视频显示到相册

    对于外部存储中,APP私有目录下的图片或者视频,一般情况下,系统自带相册中是不会显示的,如果想要将其显示出来,可以通过下面的方法,对于适配Android 10的分区存储也是很方便的一种选择. Andr ...

  9. android 系统声音文件对应目录

    首先说明这是转载滴... 原文并没有作者,所以..... 淡定的分割线----------------------------------------------------------------- ...

最新文章

  1. UI布局分析工具-视图工具(Hierarchy Viewer)
  2. 网上的说TB6560存在的问题
  3. Oracle入门心得(2)
  4. 基于.NET平台常用的框架整理(转)
  5. redhat es4 u5 下安装ORACLE 11G.
  6. 数据结构实验:一元多项式计算器
  7. [Java] Spring事务REQUIRES_NEW导致项目没有响应-原因DB maxActive没设置
  8. 天翼杯大数据算法应用大赛感想
  9. 使用ajax局部更新Razor页面
  10. ASP.NET的权限问题
  11. 计算机桌面小工具软件,win10桌面小工具(Desktop Gadgets Installer)
  12. 大数据平台--调度系统
  13. 谷歌Google搜索语法
  14. 无人机运动规划4:ego-swarm无人机群运动规划
  15. 【C语言程序设计】穷举法典例------韩信点兵问题
  16. Linux 与 Unix 系统的区别
  17. 【一起入门NLP】中科院自然语言处理第16课-简明扼要:红到发紫的prompt是什么?【上】
  18. 使用ONNXRuntime部署阿里达摩院开源DAMO-YOLO目标检测,一共包含27个onnx模型(代码开源)...
  19. C语言-学生成绩链表处理
  20. 2022-08-26 JQuery(二)

热门文章

  1. php chilkat.certstore,angularjs实现冒泡排序算法的可视化
  2. JVM - 常见的JVM种类
  3. hashmap的get查找过程
  4. spring-boot项目打包时候出现boot-inf文件夹的问题
  5. matlab做TSP,基于matlab TSP问题遗传算法的实现
  6. java 折线动图_在java中使用jfree图表制作动态折线图
  7. lda 可以处理中文_LDA数学八卦索引及全文文档
  8. cassandra本地连接失败_本地网络发现失败的解决方法连接到OS X中的服务器的问题 | MOS86...
  9. mongodb 默认端口号_快2020年了,该如何面对BATJM对MongoDB灵魂式的拷问呢?
  10. 未来之路—写在大二结束之前