zoukankan      html  css  js  c++  java
  • Android深度探索与HAL驱动开发(卷1)-- 第二章随笔

    Android软件开发是指创建新的Android操作系统的过程。通常是使用Android软件开发工具包(SDK)利用Java语言进行开发。


    Android SDK


    Android软件开发工具包(SDK)包括一套全面的开发工具。这些措施包括调试器,库文件,一个基于QEMU的手机模拟器,文档,示例代码和教程。目前支持的开发平台,包括可运行Linux的计算机,Mac OS X 10.5.8以上版本,和Windows XP或更高版本。截至2015年3月, Android 自带的SDK本身不可再用,但软件开发是有可能用专门的Android应用程序进行。

    大约到2014年底,官方支持的集成开发环境(IDE)是使用Android开发工具(ADT)插件的Eclipse,虽然IntelliJ IDEAIDE(所有版本)完全支持Android开发,NetBeansIDE还支持通过插件进行Android开发。
    Android应用程序被打包成apk格式存储在data/app在Android操作系统文件夹下(出于安全原因,文件夹只允许根用户访问)。 apk包中包含.dex文件(编译的字节码文件)、资源文件,等等。


    Android Debug Bridge


    Android调试桥(ADB)是一个包含于Android SDK包中的工具包,。它同时包含客户端和服务器端的程序,且可以互相交流。ADB通常是通过命令行界面访问,尽管存在许多图形用户界面控制ADB。

    通过ADB发布命令的格式通常是:
    adb [-d|-e|-s <serial Number>] <command>

    例如,Android应用可以通过命令保存备份一个文件,默认情况下其名称是backup.ab。


    Fastboot


    快速启动是一个包含SDK包的诊断协议,主要是通过一个从主机连接的USB来修改flash文件系统。它需要的设备将开始在一个引导装载程序或辅助程序模式下,其中只有最基本的硬件进行初始化。在设备上启用协议后,它将接受通过USB使用命令行发送给它的一套特定的命令。一些最常用的fastboot命令包括:

    • Flash –在主机上用二进制图像存储重写分区
    • erase –擦除特定分区
    • reboot –为主要的操作系统重启设备,系统恢复分区或回到它的引导装载程序
    • devices –显示列表中的所有设备(用序号)连接到主机
    • format –格式话特定分区;分区的文件系统必须被设备认可

    Android NDK

    用C,C++和其他语言可以编译成ARM,MIPS或x86源代码的库文件作为Android Native Development Kit(NDK)。源类可以从运行在Dalvik 虚拟机上的system.load library中回调使用 ,这是标准的Android java类的一部分。

    完整的应用程序可以使用传统的开发工具编译和安装。然而,根据Android开发文档,NDK不应单独用于开发应用程序仅仅是因为开发者更喜欢用C / C++编程,当使用NDK增加了复杂性而同时大多数应用程序并不会因为使用而从中受益。

    不像Java应用开发那样基于一款IDE(如Eclipse),NDK是基于命令行的工具,并且调用时需要手动建立,部署和调试应用程序。

    参考资料:

    1、Wikipedia-Android Software Development

  • 相关阅读:
    VS 2005中 讨厌的"异常助手"
    三步一计与一步三计
    S+S 的微软定义
    PMBOK2004版44个过程的工具和技术的总结
    如何在WCF中使用自定义的Header,(典型场景:业务系统的登陆与使用)
    SaaS模式探讨
    SQL 2005的row_number,(oracle 的 rownum)
    关于Django的登录系统
    CSRF Failed: Referer checking failed no Referer
    docker 入门笔记
  • 原文地址:https://www.cnblogs.com/JabinZhang/p/5451458.html
Copyright © 2011-2022 走看看