可以发现安卓系统的底层是linux内核 依次往上分别是系统运行库层 应用框架层 应用层
蓝色的代表java程序,黄色的代码为运行JAVA程序而实现的虚拟机(这里是优化后的java虚拟机更适合移动设备),绿色部分为C/C++语言编写的程序库,红色的代码内核(linux内核+驱动)。在应用框架层之下,由C/C++的程序库组成,通过JNI完成从JAVA到C的调用。
linux内核:一个微型的操作系统包含内存管理,进程管理, 网络协议栈和驱动模型。系统运行库: a)程序库 Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框 架为开发者提供服务。 以下是一些核心库: 主要包括基本的C库、以及多媒体库以支持各种多媒体格式、位图和矢量字体、2D和3D图形引擎、浏览器、数据库支持。 b)优化后的JAVA虚拟机(DVM) 每一个 Android应用程序都在它自己的进程中运行,都拥有一个独立的 Dalvik虚拟机实例。应用框架层:指的就是开发时所需要的API框架,开发人员是在遵守该框架的原则上,调用他们的,开发自己所需要的程序。应用层:所有的应用程序都是使用JAVA语言编写的,每一个应用程序由一个或者多个活动组成看下eclipse一个Helloworld工程的项目目录结构
adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
adb有什么用?:借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作
adb devices:显示当前链接的所有安卓设备(包括手机 安卓模拟器)
adb shell :进入设备或模拟器的shell环境中,在这个Linux Shell中,可以执行各种Linux的命令
adb install 安装apk到手机或者安卓模拟器
adb uninstall <软件名> adb uninstall -k <软件名> -k 参数,为卸载软件但是保留配置和缓存文件.
adb push <本地路径> <远程路径> 用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
adb pull <远程路径> <本地路径> 用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
adb logcat > d:\bug.txt :将安卓运行日志文件保存到电脑D盘下的bug.txt中
adb kill-server:结束adb 重新启动adb服务
