Android
文章平均质量分 75
lizzywu
努力中……
展开
-
Android应用程序剖析
There are four building blocks to an Android application: Android应用程序保护4种构建模块: Activity Intent Receiver Service Content Provider Not every application needs to have all four, but转载 2009-03-19 17:43:00 · 627 阅读 · 0 评论 -
Anatomy & Physiology of an Android
Patrick Brady (Google)Android has been designed as a modern mobile platform that will enable applications to take full advantage of the mobile device capabilities. This session will break down the v转载 2009-03-19 16:56:00 · 1103 阅读 · 0 评论 -
Android编译环境(2) - 手工编译C模块
http://www.top-e.org/jiaoshi/html/?161.html 上一篇中(即《Android编译环境(1) - 编译Native C的helloworld模块》),我们试用了通过标准的Android.mk文件来编译C模块,下面我们来试试如何直接运用gcc命令行来编译,从而了解Android编译环境的细节。Android编译环境提供了”showcommands”选转载 2009-05-22 16:30:00 · 1048 阅读 · 0 评论 -
Android多媒体框架初步分析
Android 系统整体架构:我们先看一下多媒体框架在整个Android系统所处的位置 从框架图可以看出Media Framework处于Libraries这一层,这层的Library不是用Java实现,一般是C/C++实现,它们通过Java的JNI方式调用。 多媒体架构:基于第三方PacketVideo 公司的OpenCORE platform来实现支持所转载 2009-05-22 16:59:00 · 725 阅读 · 0 评论 -
Git和Repo扫盲——如何取得Android源代码
Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件,它不同于Subversion、CVS这样的集中式版本控制系统。在集中式版本控制系统中只有一个仓库(repository),许多个工作目录(working copy),而像Git这样的分布式版本控制系统中(其他主要的分布式版本控制系统还有BitKeeper、Mercurial、GNU转载 2009-05-22 17:20:00 · 1108 阅读 · 0 评论 -
Android编译环境(1) - 编译Native C的helloworld模块
Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk. Android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了Android自身编译系统的很多处理,因此要真正理清楚其中的联系还比较复杂,不过这种方式的好处在于,编写一个新的Android.mk来给An转载 2009-05-22 16:29:00 · 941 阅读 · 0 评论 -
Android模拟器——QEMU
Android中提供了一个模拟器来模拟ARM核的移动设备。Android的模拟器是基于QEMU开发的,QEMU是一个有名的开源虚拟机项目(详见http://bellard.org/qemu/),它可以提供一个虚拟的ARM移动设备。Android模拟器被命名为goldfish,用来模拟包括下面一些功能的ARM SoC:· ARM926ej-S CPU · Thumb support转载 2009-05-22 16:35:00 · 3002 阅读 · 0 评论 -
在Android1.5应用程序开发过程中使用JUnit
这几天忙着写一个Android App(等完成以后应该会open source),今天差不多把网络相关的部分实现了,XML解析还有待完善。几天没写blog感觉有点不自在,正好想起Android 1.5_r1的release notes中专门提到了ADT0.9对于JUnit支持的改进,对于崇尚TDD(测试驱动开发)的人来说这无疑是一个好消息,今天就抽点时间说说Android 1.5中JUnit集成相转载 2009-05-22 17:17:00 · 1014 阅读 · 1 评论 -
Android Toolchain与Bionic Libc
Android所用的Toolchain(即交叉编译工具链)可从下面的网址下载:http://android.kernel.org/pub/android-toolchain-20081019.tar.bz2。如果下载了完整的Android项目的源代码,则可以在“/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin”目录下找到交叉编译工具,比如Andr转载 2009-05-22 16:32:00 · 713 阅读 · 0 评论 -
如何构建Android 1.5 Linux内核映像
和一般的Linux系统开发流程一样,Android平台开发的一个很重要的基础工作就是对其内核的编译和移植。本文的目的就在于构建出可以在Android自带的ARM QEMU模拟器上运行的内核映像,希望对于大家做内核的移植和系统构建有帮助。请先参考我的另一篇文章如何取得Android源代码,确保正确地拿到了Android kernel/common项目的Goldfish分支(该分支用于构建运行在e转载 2009-05-22 17:18:00 · 852 阅读 · 0 评论 -
如何构建Android 1.5系统映像
上一篇文章讲到如何构建Android的kernel映像,我们都知道,系统要运行起来光有kernel映像是不够的,今天我就来说一说如何构建Android的系统映像。请先参考如何取得Android源代码一文,通过repo来取得当前最新的android主线代码(或者拿名为android-SDK-1.5_r1的tag也无妨)。1、Host OS编译环境准备在取得android源代码和编译内核的过程转载 2009-05-22 17:19:00 · 1053 阅读 · 0 评论 -
Android SDK 1.5升级体验
以前使用的是SDK 1.0和1.1,最近Google release了SDK 1.5准备把环境升级,结果还真遇到了一些问题,这里把我遇到问题和解决方法列出来,希望对大家有所帮助。1. 下载SDK1.5。2. 卸载0.8的Android Editor.方法:打开Eclipse,选择目录的Help->Software Updates,点击Android Editor,然后按Unin原创 2009-05-26 15:45:00 · 2506 阅读 · 2 评论 -
Android wifi
android_net_wifi_Wifi.cpp中会发现很多wifi操作都是通过doXXXCommand来进行操作的,这些command都可以在wpa supplicant的control interface介绍(http://hostap.epitest.fi/wpa_supplicant/devel/ctrl_iface_page.html)里面找到。其中值得注意的是AP_SCAN这个命令。原创 2009-08-03 20:26:00 · 3819 阅读 · 0 评论 -
Android1.5中的AVD
Android 1.5中引入了AVD(Android Virtual Device)。AVD是一个经过配置的模拟器。在创建AVD时可以配置的选项有:模拟器影像大小/触摸屏/轨迹球/摄像头/屏幕分辨率/键盘/GSM /GPS/Audio录放/SD卡支持/缓存区大小等任何一个android应用都必须运行在一个AVD。如果没有制定或自动找到合适的AVD,报如下类似错误:Failed to find an转载 2009-05-26 17:00:00 · 1236 阅读 · 0 评论 -
Android编译环境(1) - 编译Native C的模块
Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk. Android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了Android自身编译系统的很多处理,因此要真正理清楚其中的联系还比较复杂,不过这种方式的好处在于,编写一个新的Android.mk来给An转载 2009-06-03 11:25:00 · 735 阅读 · 0 评论 -
Android JNI实例
Android的SDK中没有包括JNI的支持,而且对如何支持JNI也没有任何文档说明。不过既然整个Android平台是开源的,我们可以通过Google发布的源代码来找到一些线索(比如frameworks/base/media/jni/目录),依葫芦画瓢的实现上层JAVA程序通过JNI来调用Native C程序中的函数。依照下面的步骤可以实现一个非常简单的JNI的实例程序:1. 首转载 2009-06-03 14:35:00 · 715 阅读 · 0 评论 -
动态库优化——Prelink(预连接)技术
Prelink是Red Hat 开发者 Jakub Jelinek 所设计的工具,正如其名字所示,Prelink利用事先链接代替运行时链接的方法来加速共享库的加载,它不仅可以加快起动速度,还可以减少部分内存开销,是各种Linux架构上用于减少程序加载时间、缩短系统启动时间和加快应用程序启动的很受欢迎的一个工具。我们在上一章中详细介绍了动态链接和加载的过程,这种运行时的动态链接尤其是重定位(re转载 2009-06-03 15:53:00 · 989 阅读 · 0 评论 -
Android Building System 分析
想要了解一個系統,我常會從 makefile 或是 building system 下手,以了解系統組成元素為何? 目錄結構為何? 對於 Android ,我也不例外。透過了解 building system ,我們能知道如何新增、修改、刪除程式,並保有完整性,順利編譯出結果。 設定檔 Android building system 包括幾種重要的設定檔转载 2009-06-03 10:40:00 · 706 阅读 · 0 评论 -
Android的应用程序结构分析:HelloActivity
转载 2009-06-03 11:27:00 · 471 阅读 · 0 评论 -
Android 专栏整理
http://www.linuxgraphics.cn/android/index.htmlAndroid 专栏 作者: 刘鹏整理 日期: 2009-07-27 使用 2D 方法实现倒影特效倒影特效可以为 UI 带来绚丽的视觉效果,本文介绍了一种在 android 中以 2D 方法实现倒影特效的方法,给出了算法的代码片转载 2009-08-27 14:20:00 · 1045 阅读 · 0 评论 -
HOWTO install and setup Android NDK for Linux(Android NDK安装遇到的问题和解决方法)
安装NDK在Ubunbu 8.10上的时候遇到下面问题:LittleNine@LittleNine:~/android-ndk-1.5_r1$sudo ./host-setup.sh[sudo] password for e13353:./host-setup.sh: 23: source: not foundDetecting host toolchain../host-setu原创 2009-06-29 15:46:00 · 1141 阅读 · 0 评论 -
HOWTO install and setup Android NDK for Windows(Android NDK 开发环境安装和配置)
转载Windows的安装方法,经过测试方法完全正确,现在我正在尝试在Linux上安装,待成功后和大家分享。 标 题: HOWTO install and setup Android NDK for Windows发布日期: 2009-06-27 18:00原文链接: http://emck.avaw.com/?p=250作 者: Emck说 明: 此文档严格遵循GPL协议,转贴请保持此转载 2009-06-29 10:50:00 · 1076 阅读 · 0 评论 -
Android NDK带来什么?
1、前言6月26日,Google Android发布了NDK,引起了很多发人员的兴趣。NDK全称:Native Development Kit。下载地址为:http://developer.android.com/sdk/ndk/1.5_r1/index.html。2、误解新出生的事物,除了惊喜外,也会给我们带来一定的迷惑、误解。2.1、误解一:NDK发布之前,Android不支持转载 2009-06-29 17:52:00 · 863 阅读 · 0 评论 -
在Eclipse中加入Android源码
在我们开发android程序过程中,很多时候 需要查看android的源码是如何实现的。这个时候就需要把android的源码加入到 eclipse中,那么在我们通过Git和repo获取到android源码之后,就需要把java文件提取出来,并放到android SDK子目录source下。如果手工来提取这些java文件是很耗费时间的,所以我们可以写个python脚本来自动提取android源码中的转载 2009-10-19 17:07:00 · 561 阅读 · 0 评论 -
Android Building System 分析
by thinkerhttp://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/393 想要了解一個系統,我常會從 makefile 或是 building system 下手,以了解系統組成元素為何? 目錄結構為何? 對於 Android ,我也不例外。透過了解 building system ,我們能知道如何新增、修改、转载 2009-10-21 14:20:00 · 898 阅读 · 0 评论 -
Android平台——Surfaceflinger机制
看到有人在blog上留言,说希望看到Surfaceflinger这一部分的内容,最近没有时间写blog,只能先暂时掐断Binder机制,写这部分的内容。同样从几个月前的工作笔记中摘录下来。也没有细细去回顾一下,全当交个差。忙过了这段,我一定会回过头来整理的!!! 首先声明,我们忽略Binder机制的细节。 从头开始查找数据的流向,也就是SurfaceFlinger转载 2010-01-21 17:19:00 · 3665 阅读 · 0 评论 -
AIDL --- Android中的远程接口
来源:http://janla.javaeye.com/blog/408616<br /> AIDL --- Android中的远程接口<br /> 在Android中, 每个应用程序都可以有自己的进程. 在写UI应用的时候, 经常要用到Service. 在不同的进程中, 怎样传递对象呢? 显然, Java中不允许跨进程内存共享. 因此传递对象, 只能把对象拆分成操作系统能理解的简单形式, 以达到跨界对象访问的目的. 在转载 2011-02-14 17:42:00 · 562 阅读 · 0 评论 -
Android 启动过程详解
本来不想再转载什么其他人的文章,但是发现昨天搜到的好东东,今天就找不到了,所以还是在这里把好文章Mark一下吧。同时转一个System/Core/Init/Readme.txt的翻译===========================================转载 2011-08-18 15:11:04 · 969 阅读 · 0 评论 -
Android 的系统属性(SystemProperties)设置分析
Android 的系统属性(SystemProperties)设置分析作者:徐建祥(netpirate@gmail.com)日期:2009/11/11网址:http://www.anymobile.orgAndroid 的系统属性包括两部分:文件保存的持久属性转载 2011-10-13 14:17:56 · 607 阅读 · 0 评论 -
Android平台开发-Android keypad map-Android按键事件
Android平台开发-Android keypad map-Android按键事件一、Android底层按键事件处理过程 在系统启动后,在文件。。。中,android 会通过 static const char *device_path = "/dev/input"; bool EventHub::penPlatformInput(void)转载 2011-11-16 15:30:28 · 831 阅读 · 0 评论 -
android技巧:快速重建system.img
修改android的系统模块后, 需要重新生成system.img, 以前我用make systemimage,但这个过程太慢了,很烦人。于是通过make输出的信息, 找到一个比较快的方法,只编译模块和生成system.img,省去其它过程,重新生成system.img快了不少。以修改services模块为例,命令如下:cd frameworks/base/servicesmm转载 2012-06-07 15:53:37 · 991 阅读 · 0 评论 -
Android Bluetooth 总结
一、Android Bluetooth现状(1)Android2.2版 支持的蓝牙核心版本是Bluetooth 2.0 + EDR。(2)Android 的蓝牙 使用了BlueZ协议栈,但只实现了Handset/Handfree和A2DP/AVRCP等Profile。(一些常用的Profile(如HID/DUN/SPP/OPP/FTP/PAN等)在现在的Android2.2转载 2012-06-13 15:12:45 · 1537 阅读 · 0 评论 -
dbus调试方法
近期研究了android bluetooth,发现bluez消息都是通过dbus进行传输,但是在java层和bluez通信的过程中,有些会被block住,这样就需要dbus进行调试,下面讲述dbus进行调试的方法。 dbus提供2个tool,一个是dbus-send, 一个是dbus-monitor。dbus-send可以像调用API那样进行消息传递,而dbus-monitor可原创 2012-06-13 14:31:43 · 10432 阅读 · 7 评论 -
Android Bluetooth 总结
一、Android Bluetooth现状(1)Android2.2版 支持的蓝牙核心版本是Bluetooth 2.0 + EDR。(2)Android 的蓝牙 使用了BlueZ协议栈,但只实现了Handset/Handfree和A2DP/AVRCP等Profile。(一些常用的Profile(如HID/DUN/SPP/OPP/FTP/PAN等)在现在的Android2.2转载 2012-06-13 15:13:01 · 1119 阅读 · 0 评论 -
[转]蓝牙基带数据传输机理分析
蓝牙(Bluetooth)是一种新型、开放、低成本、短距离的无线连接接技术,可取代短距离的电缆,实现话音和数据的无线传输。这种有效、廉价的无线连 接技术可以方便地将计算机及外设、移动电话、掌上电脑、信息家电等设备连接起来,在它可达到的范围内使各种信息化移动便携设备都能实现无缝资源共享,还可 通过无线局域网(WirelessLAN)与Internet连接,实现多媒体信息的无线传输。转载 2012-06-13 14:53:45 · 1892 阅读 · 0 评论 -
Android/Bluetooth 初始化流程
=========================Kernel Space=========================1. Board power initMACHINE_START init_machine = comet_initbt_power_initbluetooth_power2. HCI device/connection manager,转载 2012-06-14 10:15:56 · 1740 阅读 · 0 评论 -
Key Character Map Files
在做本地化的时候,不光是要做界面的翻译,还有一项比较重要的就是如何支持不同的键盘,例如,在标准键盘里面是没有西班牙语的a上面带^这样的字符,如何用键盘输出这样的字符,就需要配置key map文件,下面就是Android配置文件保存的目录。为了防止丢失,把全文拷贝来源:http://source.android.com/tech/input/key-character-map-f转载 2012-05-25 14:50:57 · 2470 阅读 · 0 评论 -
android opensource: 修改 android 设备的 model number
修改model number看似很简单的问题,但是实际查找的时候发现很多问题,为了符合不同的产品都会overlay这个看似简单的参数,但是哪一个生效确实找了很久,最后结论是init.c里面才是最终的值,也就是说代码中的最大!下面这个文章解释了一般model number在哪里赋值的。======================================转载 2012-05-25 14:56:25 · 7890 阅读 · 0 评论 -
Android Bluetooth HID实现详解
Android 关于蓝牙的部分使用的是BlueZ协议栈。但是直到目前2.3.3都没有扩展HID的profile,只是实现了最基本的Handset和d2dp的profile,所以我们的工作涉及到从应用到jni三层的修改,具体修改文件如图所示,绿色表示新建的类,橙色表示修改的类。 一. 本地层路径:framework/base/core/jni/参照Android_server_Blu转载 2012-10-22 18:50:59 · 3988 阅读 · 0 评论 -
Android平台开发-Bluez function porting-蓝牙功能移植
一、Bluez编译配置支持 在BoardConfig.mk中添加: BOARD_HAVE_BLUETOOTH := true。 二、启动hciattach BlueZ核心子系统使用hciattach守护进程添加指定的硬件串口驱动。 修改init.rc来启动hciattach: service hciatt转载 2012-11-16 18:54:03 · 4506 阅读 · 3 评论