android 开发浅谈(JDK && NDK)
16lz
2021-01-26
一、软件开发(Android 开发)
android SDK开发(上层开发)
-------利用Android-SDK编写的Java程序代码,生成的APK,很容易反编译
android NDK(JNI)开发(其余开发)
-------利用NDK,可以开发纯C&C++的代码,然后编译成库,让利用Android-SDK开发的Java程序调用
-------利用NDK开发的库,不易被反编译,保密性较高
-------很多开源工程和大型工程都是C&C++代码,把它们转换为纯java语言是不可能的,只能通过NDK(JNI)间接调用
-------C&C++的代码运行速度和效率都比java快很多。
二、相关概念
JVM运行原理
1.Android SDK(Software Develop Kit) 指的是Android专属的软件开发工具包。
2. Android JDK(Java Develop Kit) 指的是Android。 它是一种用于构建在Java平台上发布的应用程序、applet 和组件的开发环境。其中包括了Java编译器、JRE、大量的Java工具、Java基础API里面的Java类库和Java的语言规范。 Sun公司在1998年发表JDK1.2版本的时候, 使用了新名称Java 2 Platform,即“Java2平台”,修改后的JDK称为Java 2 Platform Software Develping Kit,即 J2SDK。并分为标准版(Standard Edition, J2SE), 企业版(Enterprise Edition,J2EE),微型版(MicroEdition, J2ME)。 Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。 [1] 3. Android JRE(Java Runtime Environment )指的是java运行环境。 JRE是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JDK的工具也是Java程序,所以也需要JRE才能运行。为了保持JDK的独立性和完整性,在JDK的安装过程中,JRE也是安装的一部分。所以,在JDK的安装目录下有一个名为jre的目录,用于存放JRE文件。
当启动java应用程序, java [xxx]的时候,java.exe的任务就是在极其上找到合适的JRE来执行[xxx]。
4. Android Jvm( java virtual machine )指的是java虚拟机。
它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。
当运行一个Java应用程序的时候,就启动了一个JVM进程,也就是说产生了一个JVM。
更多相关文章
- Android(安卓)快速开发框架:推荐10个框架
- 在s5pv210开发板的android平台上添加busybox的支持[基于x210开发
- 3.腾讯微博Android客户端开发——算法、编码、辅助方法编写
- 安卓模拟器Android(安卓)studio中VT-x is disabled in BIOS问题
- Android(安卓)Studio下Jni开发配置
- android命令行启动程序
- Android(安卓)获取系统程序和应用程序
- Windows下从零开始搭建JAVA Web,Android开发环境
- Android(安卓)JNI开发进阶篇