一、软件开发(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专属的软件开发工具包。

      SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。      JAVA开发也有自己的Java SDK。Android SDKzip压缩包的格式下载(如第三章描述的一样)。Android SDK主要是大量的文件,包含文档、编程API、工具,其余由示例组成。android SDK中API提供一些扩展的java 类库,类库分为若干个包,每个包中包含若干个类。具体的android sdk 介绍参见:http://wc0903.iteye.com/blog/599770
   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。


更多相关文章

  1. Android(安卓)快速开发框架:推荐10个框架
  2. 在s5pv210开发板的android平台上添加busybox的支持[基于x210开发
  3. 3.腾讯微博Android客户端开发——算法、编码、辅助方法编写
  4. 安卓模拟器Android(安卓)studio中VT-x is disabled in BIOS问题
  5. Android(安卓)Studio下Jni开发配置
  6. android命令行启动程序
  7. Android(安卓)获取系统程序和应用程序
  8. Windows下从零开始搭建JAVA Web,Android开发环境
  9. Android(安卓)JNI开发进阶篇

随机推荐

  1. Android客户端自动更新代码
  2. Android Intent中的FLAG,很全
  3. Android之MediaPlayer(两种)基本使用方式
  4. android 客户端 smtp 协议发送数据
  5. [Android] 动态语言切换
  6. spotlight android app which likes spot
  7. android的样式(style)与主题(theme)
  8. Android用户定位Google Map显示地图
  9. Android ScrollView + ListView嵌套使用
  10. android 读取通讯录