已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年梧州市万秀区工会人员招聘笔试参考题库及答案详解
- 2026河北张家口市万全区招聘高校毕业生就业见习人员127人考试备考试题及答案详解
- 2026广西河池市宜州法院公开招聘4人考试备考试题及答案详解
- 跨境数字金融稳定中跨国系统重要性金融机构线上识别-基于金融稳定理事会系统重要性金融机构评估方法及巴塞尔协议Ⅲ规范分析
- 跨境数字环境损害赔偿中跨国生态修复线上费用估算-基于联合国赔偿委员会环境损害修复成本指南规范分析
- 跨境数字国际雪地棒球外籍运动员临时签证线上雪地跑垒安全核验-基于内蒙古雪地棒球赛实证
- 2026年银川市西夏区法检系统书记员招聘考试模拟试题及答案详解
- 2026年菏泽单县公开招聘基层卫生医疗机构工作人员(17人)笔试备考试题及答案详解
- 招聘若干人!待遇优青海凌智高级中学招聘高中教师考试参考题库及答案详解
- 2026年内蒙古自治区通辽市工会人员招聘笔试参考题库及答案详解
- 海阔天空混声四部合唱谱
- 川大拔尖计划试题及答案
- 人力资源共享服务中心操作手册
- 加油站防雷培训
- 关于会计培训
- 燃气储罐安全拆除应急预案
- 带教老师遴选制度
- 保险学(第五版)课件全套 魏华林 第0-18章 绪论、风险与保险- 保险市场监管、附章:社会保险
- 《淬火应力变形开裂》课件
- 水泥砂浆砌石体单元工程施工质量评定表填表说明
- 中国籍贯的集合数据库(身份证号前六位籍贯对照表)
评论
0/150
提交评论