【Android源码 栏目提醒】:网学会员Android源码 为您提供Android框架及开发提要 - 企业软件开发参考,解决您在Android框架及开发提要 - 企业软件开发学习中工作中的难题,参考学习。
Android 资料仅供学习参考Email:longwinder126.com定义及框架Android 与linux源码编译开发综述相关网站. 官方定义Android is a software stack for mobile devices that includes an operating system middleware and key applications. The Android SDKprovides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.android 是为移动设备定制的一个软件集她包括操作系统中间件以及关键的应用程序。
Android SDK 为用户在android平台上开发提供了必须的工具及应用程序接口使用java编程语言。
Android ArchitectureAndroid应用使用java语言编写。
应用程序架构一开始为了组件的重用而设计的。
每个应用程序发布的功能都可以供其他程序调用。
每个android应用程序运行在一个单独的虚拟机进程中。
虚拟机是基于寄存器编程的。
在底层功能上Dalvik虚拟机依赖Linux内核如线程和低级别的内存管理。
Android基于linux2.6内核。
Android2007年11月5日GooGle推出了Open Handset Alliance 与Aandroid 操作系统开放平台。
Android SDK 不断更新1.01.11.51.62.1当前最新为2.2。
2008年底HTC推出代号“G1”第一款android手机2009年底代号为Nexus POne 的第二代G-Phone 手机产生。
Google 在发表声明中提到“Android 的设计初衷就是向下延伸到主流手机并向上扩展到MID移动上网设备及小型设备”这应该是一值得期待的方向。
二.Android与嵌入式linux嵌入式linux体系结构Android 体系结构硬件系统标准linuxAndroid 系统核心驱动Android系统设备驱动Java框架Java应用程序核心库JNIAndroid 各种底层库Android 虚拟机硬件抽象层硬件系统内核空间用户空间系统APIRun Time硬件系统Linux 内核RootFileSystem根文件系统Bootloader引导程序Android 不是单纯的一个linux操作系统还包括了带有丰富应用程序的文件系统。
其文件系统可分为以下三层图形处理多媒体数据库基础c库以及运行时核心库及虚拟机。
应用程序框架层主要实现视图电话活动通知等管理功能。
核心应用程序。
目前编译源码需要在linux或者mac os 系统下运行。
Google官方推荐使用ubuntu系统这也是基于linux的操作系统最新版本为Ubuntu10.04 LTSLong Time Surport版有不错的图形界面支持。
Git及repo工具安装Git版本控制工具系统已经默认安装。
Repo 可以帮助用户方便的下载并同步源码。
首先下载repo工具并安装mkdir /home/bincurl http://android.git.kernel.org/repo /bin/repo chmod ax /bin/repo三.Android 源码下载及编译准备下载源码mkdir myandroidcd myandroidrepo init -u git://android.git.kernel.org/platform/manifest.git 若要下载某一分支源码比如android 2.1platform执行repo init -u git://android.git.kernel.org/platform/manifest.git –b éclairEcair是2.1版的别名1.5的别名为cupcake.执行完之后系统提示“repo initialized in /mydroid”表示初始化repo客户端成功。
同步源码repo sync这个过程比较长可能得半天2.1版大小为2.1G左右。
源码编译首先要有java开发包jdk1.5版以上ubuntu10.04默认已安装jdk1.6也可以再下载重新安装。
编译还要有其他工具或库可以一起安装sudo apt-get install gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential libncurses5-dev zlib1g-devAndroid2.1版需要安装jdk1.5下载其软件包解压将其下jre/binbin目录路径加入PATH环境变量将/usr/bin下所有含java的命令删除cd /usr/bin rm –f java这时再运行javac –version命令检查当前版本若为1-5-x表明成功。
最后在myandroid目录下使用make命令编译make第一次编译要23个小时完成后会生成一个out目录子目录下生成system.imgramdisk.imguerdata.img等文件系统镜像模拟器使用这些作为其文件系统。
编译sdk检验编译结果make sdk在out目录的子目录下生成sdk子目录其下有tools目录包含androidsdk下载模拟器创建等功能的图形窗口工具emulatoradb等工具。
在2.1版本下编译会自动安装2.1版的sdk可以使用命令查看android list target可以使用命令行创建模拟器android create avd –n myavd –t 1根据提示配置模拟器参数完成后启动emulator –avd myavd模拟器界面运行起来了当然创建启动模拟器完全可以使用android图形工具来完成。
直接运行命令android可以启动管理工具。
如果我们想要查看模拟器里面的文件系统使用adb工具adb shell这时进入模拟器的linux shell 环境可以使用基本的linux 命令进行相关操作。
若模拟器运行成功对源码的整体编译就算完成了Android系统非常庞大一般只要进行某一部分的开发。
从功能上来划分android的开发可分为3种类型1. 移植开发移动电话系统2. android 应用程序开发3. android 系统开发.Android Android 体系结构硬件系统标准linuxAndroid 系统核心驱动Android系统设备驱动Java框架Java应用程序核心库JNIAndroid 各种底层库Android 虚拟机硬件抽象层硬件系统内核空间用户空间系统APIRun Time移植开发手机系统Android应用程序开发JNI本地库Java应用Java框架类Windows 下基于sdk开发下载并安装jdk1.5以上版java开发包IDE使用eclipse下载并安装sdk工具包其中已经包含了上面所说的模拟器adb等其他工具。
在eclipse开发android程序还要有adt工具插件的支持这样可以方便的建立andorid程序并在模拟器上调试。
完成之后重启eclipse在file-new菜单下会有android project选项点击直接建立android工程。
并且window菜单下多出一个“android SDK and AVD manager”选项这其实就是下载的sdk工具包中的android工具点击后出现“android SDK and AVD manager”窗口可以创建并启动模拟器检视并下载sdk版本有一点就是你必须把sdk下的tools目录的全路径加入path环境变量中。
下载需要版本的sdk并创建模拟器windows下开发环境就搭建好了。
Eclipse创建一个android应用程序并在模拟器上启动和调试了。
假设有个新的apk文件android应用程序要上传至模拟器运行adb install x.apk若要上传或下载使用adb push 或adb pull 命令。
adb push a.txt /system/a.txt如果有多个模拟器在运行要进入到指定模拟器shell环境adb –s emulator-5556 shell-s 参数指定模拟器序列号要查看当前运行的所有模拟器序列号运行adb devicesAdb及其他工具的详细用法在网上可以找到大量资料。
Linux下开发基于sdk开发与windows下一样下载对应的开发工具包linux 版即可。
Sdk也可使用本地源码编译的sdk。
基于源码开发首先要将
android源码导入eclipse工程详见网文http://blog.csdn.net/HKjinzhao/archive/2009/03/30/4037194.aspx。
注意eclipse仅用来编辑修改源码。
修改编译某一模块步骤如下假设在eclipse中修改了app/contacts 模块并保存。
编译模块cd myandroid . build/envsetup.shcd some_dir/app/contactsmmm重新生成模拟器镜像文件system.imgmake snod启动模拟器并指定新生成system镜像文件emulator –avd your_avd –system /home/feya/myandroid/out/some_dir/system.img这样可以在模拟器中运行新的contact程序了。
使用cc开发应用程序Google提供的ndk使用jni开发包支持用户使用cc编程语言开发应用程序。
在设备上运行并调试android程序启动设备进入“home“界面按menu键选择applicationsdevelopment-USB debugging使设备进入调试模式。
将设备与pc机通过usb数据线连接假设这里使用windows系统若为第一次连接windows会弹出一个硬件更新对话框提示安装驱动根据提示找到本地usb驱动下载的sdk目录下usb_driver包含该驱动点击”下一步“自动安装即可。
Eclipse中调试某程序弹出的“设备选择“对话框中会列出模拟器及设备列表选择名为”device“的设备。
Linux下调试需要创建如下udev规则文件/etc/udev/rules.d/51-android.rules文件内添加相应的规则如SUBSYSTEMusb_deviceSYSFSidVendor0bb4 MODE0666最后给此文件加上可执行权限chmod ax /etc/udev/rules.d/51-android.rules其他步骤与windows相同。
五.http://source.android.com/source/index.htmlandroid源码编译移植开发网站。
http://androidappdocs.appspot.com/index.htmlandroid 开发网站有详尽的sdk工具及其API使用说明主要针对上层应用程序开发。
http://android.git.kernel.org/android 源码下载网站http://www.android.com/market应用程序的发布交易场所The end谢谢资料仅供学习参考Email:longwinder126.com
上一篇:
android学习计划书
下一篇:
7*30m公路预应力混凝土连续梁桥上部结构设计