第十二章 JAVA启动流程、调试和程序结构.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:38 大小:3MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第十二章 JAVA启动流程、调试和程序结构.ppt

第十二章JAVA启动流程、调试和程序结构.ppt

预览

免费试读已结束,剩余 28 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Android系统移植第九章Java启动流程和程序结构一、java部分的启动流程二、jni的基本概念三、jni的实现四、框架层中使用jni五、APK中使用jni9.1java部分的启动流程9.1.1启动流程概述9.1.1启动流程概述9.1.1启动流程概述9.1.2java系统的守护进程9.1.2java系统的守护进程9.1.2java系统的守护进程9.1.3Zygoteinit类的执行9.1.3Zygoteinit类的执行9.1.4Zygoteinit类的执行-main方法9.1.4Zygoteinit类的执行-本地接口init1()9.1.4Zygoteinit类的执行-system_init()9.1.4Zygoteinit类的执行-system_init()9.1.4Zygoteinit类的执行-init2()方法9.1.4Zygoteinit类的执行-serverthread9.1.4Zygoteinit类的执行-serverthread9.1.4Zygoteinit类的执行-各个”服务”的执行9.1.4Zygoteinit类的执行-各个”服务”的执行9.1.4Zygoteinit类的执行-各个”服务”的执行9.1.5java应用程序部分的启动9.1.5java应用程序部分的启动8.1android的java本地调用8.1android的java本地调用9.1.5java应用程序部分的启动9.2java层程序的结构设计9.2.1目标和设计思路9.2.1目标和设计思路8.1android的java本地调用8.1android的java本地调用8.1android的java本地调用8.1android的java本地调用8.1android的java本地调用在android中提供的jni的方式,让java程序可以调用C语言编写的程序,android中很多java类具有native接口,这些native接口就是由本地实现,然后注册到系统中的。在Android中主要的jni代码在一下的路径中:Frameworks/base/core/jni/这个路径中的内容将被编译成库libandroid_runtime.so,这就是一个普通的动态库,被放置在目标系统的/system/lib目录中。除此之外,android还包含其他的jni库,录入媒体部分的jni在目录frameworks/base/media/jni中,被编译成libmedia_jni.so。Jni中的各个文件实际上就是C++的普通文件,其命令一般和支持的java类有对应关系,这种关系式习惯上的写法,而不是强制的。在android中实现的jni库,需要连接动态库libnativehelper.so。Jni在android层次结构中的作用Jni在android层次结构中的作用如图所示:Android系统的jni和标准的java基本类似,实现jni主要的流程为在java源代码中声明本地方法,并注册到对应的java类中,在java层的声明方面,android和标准的java使用了完全相同的方法,在本地层的实现方面,原本jni也没有绝对完整的规则,android系统具有一定的特殊性谢谢!