Android SDK开发环境搭建 |
您所在的位置:网站首页 › sdk用途 › Android SDK开发环境搭建 |
基于SDK进行Android应用的开发,首先需要进行基于SDK的开发环境的搭建。开发者安装Eclipse,然后下载相应的Android SDK下载工具包和ADT插件,按照//developer.android.com上的安装步骤进行安装。不过,在Android 2.3中,对应的ADT 8.0.0的文件布局发生了变化,导致ADT 8.0.0无法兼容Foryo及以下Android版本。 需要注意的是,在通过AVD管理器下载SDK时,由于默认采用了HTTPS的链接方式访问Android的官方仓库,在部分机器上可能会因安全原因拒绝链接。为了完成下载,需要在AVD管理器的设置选项中,选择“Force https://... sources to be fetched using //”和“Ask before restarting ADB”。 为了通过模拟器进行开发和调试,需要为目标设备在开发环境中创建相应的虚拟设备。 在Android中,虚拟设备称做AVD(Android Virtual Device)。在早期的Android SDK中,开发者需要基于命令行的方式来创建AVD,在新的Android SDK下载工具包中,已经提供了图形界面的方式,使开发者可以根据需要方便地创建AVD,查看AVD相关的信息。本质上这是通过“Android”工具来实现的。 Android工具的命令行用法如下: android [global options] action [action options] 可用的“action”包括:-list //列出存在的目标平台和AVD -list avd //列出存在的AVD -list target //列出存在的目标平台 -create avd //创建新的AVD -move avd //移动或者重命名AVD -delete avd //删除存在的AVD -update avd //更新存在的AVD到新的目标平台 -create project //创建新的Android工程 -update project //更新Android工程(必须有AndroidManifest.xml) -create test-project //创建新的Android测试工程 -update test-project //更新Android测试工程(必须有AndroidManifest.xml) -update adb //更新adb以支持USB设备 -update sdk //更新可用的SDK以进行SDK安装 对于“create avd ”,其选项包括: -c – sdcard //共享SD卡映像的路径或AVD的新SD卡的大小 -t –target //新建AVD的目标平台的ID -n –name //新建AVD的名字 -p –path //新建AVD的路径 -f –force //强制创建AVD,如果已经存在同名AVD,则进行覆盖 -s –skin //指定AVD采用的皮肤 在Linux环境下的目标平台和AVD列表示例: Available Android targets: id: 1 or "android-8" Name: Android 2.2 Type: Platform API level: 8 Revision: 2 Skins: HVGA (default), QVGA, WQVGA400, WQVGA432, WVGA800, WVGA854 id: 2 or "android-9" Name: Android 2.3 Type: Platform API level: 9 Revision: 1 Skins: HVGA (default), QVGA, WQVGA400, WQVGA432, WVGA800, WVGA854 id: 3 or "Google Inc.:Google APIs:9" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 1 Description: Android + Google APIs Based on Android 2.3 (API level 9) Libraries: * com.google.android.maps (maps.jar) API for Google Maps Skins: HVGA (default), QVGA, WQVGA400, WQVGA432, WVGA800, WVGA854 id: 4 or "Google Inc.:Google APIs:8" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 2 Description: Android + Google APIs Based on Android 2.2 (API level 8) Libraries: * com.google.android.maps (maps.jar) API for Google Maps Skins: HVGA (default), QVGA, WQVGA400, WQVGA432, WVGA800, WVGA854 Available Android Virtual Devices: Name: my_android Path: /root/.android/avd/my_android.avd Target: Android 2.2 (API level 8) Skin: HVGA Sdcard: 200M 显示AVD设备列表的信息的操作方式为: #cd android-sdk-linux_86/tools #./android list 基于AVD管理器的图形界面,开发者可以用比命令行更方便的方式来创建和维护AVD。创建Android虚拟设备my_android的命令行方法为: #cd android-sdk-linux_86/tools #./android create avd -n my_android -t 2 //创建基于Android 2.2的AVD 除了“Android”工具外,在“android-sdk-linux_86/tools”下,Android还提供了ddms、emulator、layoutopt、traceview、dmtracedump、hierarchyviewer、zipalign、apkbuilder、draw9patch、hprof-conv、mksdcard、sqlite3等多种实用工具。 另外在“android-sdk-linux_86/platforms/android-8/tools”下,Android还提供了aapt、aidl、dexdump、dx等工具。 在Foryo以后,Android将部分早期放置在“android-sdk-linux_86/platforms/android-?/tools”下的工具放置到了android-sdk-linux_86/platform-tools中,这部分工具包括aapt、adb、aidl、dexdump、dx等。这似乎表明Google任务在Dalvik虚拟机的优化上已经比较成熟。不会再有大的变化。 其中“emulator”提供了基于QEMU的模拟器,供开发者进行应用的开发、调试、测试。需要说明的是,由于Android的模拟器是基于QEMU的,模拟了真实的ARM环境,所以Android的编译与通常的嵌入式开发不同,没有所谓的“Home”端和“Target”端的概念。在默认情况下,编译输出文件均是基于ARM体系结构的(Android还提供了X86架构的模拟器编译),当然Android模拟器尚不能完全模拟真实的物理设备,如支持的ARM指令目前仅限于ARMv5指令集,而不支持主流Cortex A8所需的ARMv7指令集,在LCD的显示上,目前仅支持16bit,而不支持24bit,同样触控技术上,模拟器也不支持多点触控。在启动emulator时,需要指定相应的AVD。 “hierarchyviewer”为开发者调试和优化UI界面提供了帮助,可以帮助开发者在像素级别调整UI布局。 “layoutopt”可以帮助开发者分析UI的布局,有助于开发出更精细的UI。 “draw9patch”通过WYSIWYG编辑器帮助开发者进行2D图形的浏览和维护。在Android开发者,主要用于制作可伸缩的*.9.png格式的图片上。 “ddms”帮助开发者进行应用的调试,是开发者常用的工具之一,也是Android重要的工具之一。 “adb”帮助开发者在模拟器或物理设备上安装APK文件、向SD卡上推拉文件或者连接GDB调试器。也是开发者常用的工具之一。 “aapt”用来创建APK文件。开发者一般不直接接触。 “aidl”为Android的进程间通信创建接口代码,是Android多进程通信的重要基础。开发者一般不直接接触。进程通信的更多内容可以参考3.2节过程调用。 “sqlite3”帮助开发者创建、查阅后缀为db的SQLite数据库文件。需要注意的是,默认情况下Android的SQLite数据库文件没有经过加密处理,这在涉及敏感信息时,是个比较大的风险,好在相应的加解密接口已经存在,设备厂商只需要在底层加入选定的加密算法即可。另外,为了更方面的查阅SQLite数据库文件,Linux下有个比较比较方面的工具即sqliteman。 “traceview”为Android应用运行过程中产生的日志的图形界面。在Android中,将日志分为调试(Debug)、错误(Error)、信息(Info)、详情(Verbose)、警告(Warning)等5个等级,在实际的开发中,可以根据实际情况选用不同的等级,就个人经验而言,应慎用“Error”等级,纯调试用途应用“Debug”等级。使用“Debug”等级日志的另一个好处在于,在发布时可以很方便地关闭日志输出。 “mksdcard”帮助开发者创建SD卡的硬盘映像。其文件系统为FAT32,在通过图形界面创建AVD时,也可以同时创建SD卡, mksdcard的命令行参数如下: usage: mksdcard [-l label] “dx”重写了Android的DEX字节码,这是Android性能的关键和设计精华。开发者一般不直接接触。 “zipalign”为一个重要的APK优化工具,在Donut中引入。提供了优化后的应用和系统的交互效率,从而使整个系统的运行效率得到较大的提升。 Android SDK的频繁升级,为广大的开发者造成了很多的困扰,为了更新基于旧Android SDK开发的工程,基于命令行方式的方法为: #android-update project //工程必须有AndroidManifest.xml文件 精品课程推荐:Android应用开发培训班(FSAD1002) 课程目标 1)使用Android SDK进行移动应用开发有全面深入的了解,掌握Android编程的基本模式; 2)完成一个功能较全面的Android程序; 3)理解Android编程的关键技术,能够自己进行更加深入的学习; 4)初步具有Android编程的实力,能够在文档辅助下完成企业要求的应用开发。 热点链接: 1、嵌入式linux入门要学什么 2、2013移动互联网发展趋势TOP10 3、2012移动互联网热点事件终极大盘点 4、2013华清远见嵌入式系统师资培训(寒假) 5、嵌入式Linux开发学习 更多新闻>> |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |