




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android开发工具及原理 王洪浪MSN whlsjtu 讲义目录 AndroidApplication基本概念 AndroidSDK介绍及安装 AndroidSDK主要工具使用 从Eclipse中使用AndroidSDK 什么是AndroidNDK 为什么需要NDK NDK提供的主要工具使用 AndroidApplication基本概念 AndroidAPP使用JAVA编写的 AndroidAPP用SDK编译后将数据 资源和代码编译到一个Android程序包 一般以 apk作为结尾 SDK开发阶段 资源 String BMP ICON Audio 数据 代码 javaclass和C so Manifest AndroidAPP APK包 APP发布 AndroidApplication基本概念 AndroidAPP一般由一个或者多个component组成 Application可以包含如下类型的component 目前我们暂时先只关注最常用的Activity Activity类似于Windows上的Windows 是进行显示和处理用户交互的对象类型 右图是Activity的生命周期迁移图示 AndroidApplication基本概念 AndroidManifest是每个AndroidAPK都会附带的配置文件 是供系统获取APP信息的重要配置信息 一般地 在系统启动一个程序之前 需要从Manifest配置文件获得如下的信息 标识程序运行需要的权限 比如联网 读取存储 读取联系人等 标识运行时候需要的最小系统版本 标识程序需要的硬件依赖 比如依赖Camare BlueTooth MultiTouch等等 系统库依赖 比如依赖于GoogleMapslibrary 其他 AndroidSDK介绍及安装 AndroidSDK无需安装 下载解压就可以使用 使用AndroidSDK可以有两种方法 Commandline方式 直接在命令行使用SDK提供的工具创建工程 部署 编译和调试工程 通过Eclipse的ADT插件来使用 可以利用Eclipse来进行工程创建 部署 编译 调试 通过Eclipse或者通过commandline两种方式生成的Android工程略有不同 主要是有不同的工程配置文件 其他都是相同的 两种方式各有优缺点 Eclipse开发调试更直观方便 commandline方式编译和部署可以方便的集成进脚本 可以更加方便的自动化 AndroidSDK主要工具使用 使用Commandline来进行开发 首先使用android命令来创建一个新的android工程 命令如下 android batcreateproject nandroidtest1 p androidproj aMyactivity t5 packagecom navinfo nds n指定工程名字为androidtest1 p指定了工程路径 a制定了默认的activity名称 相当于windows下主窗口的名称 t制定了targetid targetid对应了不同的googleAPIlevel android系统版本 package指定了代码Java包名称 AndroidSDK主要工具使用 创建工程成功后 创建了如下的目录及文件结构 CYGWIN HOME WANGHL ANDROIDPROJ AndroidManifest xml工程配置Manifest文件 ant propertiesant编译配置文件 build xmlant编译配置文件 local properties本地工程配置文件 不能上传至versioncontrol proguard cfg工程配置文件 project properties工程配置文件 bin生成的APPAPK所在目录 libs其他lib 此目录下的文件都被自动打包进APK res资源子目录 layout画面布局文件 类似于VS2005下的Dialog布局资源 main xml values字符串资源表 strings xml srcJava源代码子目录 com navinfo ndsMyactivity java AndroidSDK主要工具使用 创建工程完成后 开始使用Ant来编译工程 首先确保JAVA HOME环境变量已经定义好 然后直接使用AntDebug或者AntRelease来编译相应的版本 按照之前我们创建的工程名为androidtest1的工程 切换当前目录到工程目录运行antdebug后 在bin目录下生成对应的apk包文件 对于调试和单步跟踪 在commandline下是不能进行跟踪 一般地 利用eclipseadt插件 利用eclipse中的javadebugger进行调试 在调试的时候 利用DDMS工具可以查看Android设备输出的log 进行截屏 控制系统进程 查看系统资源使用等功能 使用adb工具可以安装 卸载APK 传输拷贝文件到设备上 从Eclipse中使用AndroidSDK 在Eclipse中使用AndroidSDK比较简单 只需要在Eclipse上先在线或者本地安装ADT 在ADT中设置后SDK路径就可以开始使用 使用Eclipse创建一个Android工程后 可以看到如下的目录和文件结构 classpath相比于使用android工具创建的工程 project project classpath是eclipse特有的工程文件 AndroidManifest xml与android工具生成的相同 assets资源文件夹 与res一样 但不自动生成ID bin生成目标 gen自动生成代码 proguard cfg与android工具生成的相同 project properties与android工具生成的相同 res与android工具生成的相同 src与android工具生成的相同 什么是AndroidNDK 为什么需要NDK NDK的目标 在Android1 5或者更高版本上 生成可以供JNI调用的ARM版本的so动态库 将生成的so动态库拷贝到工程的libs目录 使得这些文件能够自动打包进最终的APK包 InlaterrevisionsoftheNDK weintendtoprovidetoolsthathelpdebugyournativecodethrougharemotegdbconnectionandasmuchsource symbolinformationaspossible NDK提供了 一个GCC交叉编译工具链 compilers linkers etc 用来编译ARMCPU目标程序 支持Linux OSX和Windows withCygwin 一系列Android暴露的API头文件及相应lib库文件 在后续系统版本中 这些接口头文件也将保持兼容 一个Build系统 使得用户可以通过比较少的配置来写一个Makefile文件来管理工程 NDK不能做 NDK不适合编写程序整体框架 一般地 AndroidAPP还是由Java编写 由NDK来开发一些性能关键点接口 整个APP生命期管理 Events管理还是由JAVA来完成 NDK主要工具 NDK开发的目录结构 androidproject AndroidManifest xml ant properties build xml local properties proguard cfg project properties bin libs jni Android mkNDK工程配置文件 Application mkNDK编译配置文件 res src NDK主要工具 一个Android mk和Application mk的例子 更多请参照 NDK Documentation htmlAndroid mk PROJECT COMMON INCLUDE callmy dir release navmgr callmy dir release nicore CLEAR VARS TOP LOCAL PATH callmy dir commonlibraryprojectinclude TOP LOCAL PATH cstl mkinclude TOP LOCAL PATH com mk NDK主要工具 com mk PROJECT NAME comLOCAL PATH callmy dir PROJECT NAME srcinclude CLEAR VARS LOCAL MODULE PROJECT NAME LOCAL C INCLUDES PROJECT COMMON INCLUDE LOCAL PATH inc LOCAL PATH cstl incLOCAL CFLAGS DLINUX DHAVE USR INCLUDE MALLOC HLOCAL SRC FILES Com Cache c Com DataRead c Com DataWrite c Com DetectSD c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 口才自我介绍课件
- 义工工具库存管理办法
- 保定医院闭环管理办法
- 保密机房项目管理办法
- 休闲农庄花销管理办法
- 临时检修计划管理办法
- 京东广告屏蔽管理办法
- 举办会展活动管理办法
- 企业国资评估管理办法
- 产后照料机构管理办法
- 专利知识产权全套流程图
- 2023年中医基础理论知识题库与答案
- 上海2022年浦发银行人力资源部社会招聘(0111)考试模拟卷3套含答案详解
- 国家重点研发计划“公共安全风险防控与应急技术装备”2023年立项项目
- 酸雾抑制剂化学品安全技术说明书
- 重点监管的危险化学品名录(完整版)
- 解三角形专题 - (解析版)
- 高等教育心理学学习提纲整理
- 个人信用报告异议申请表
- 桩基施工安全检查表
- 2022年公司管理制度发布流程
评论
0/150
提交评论