Google Android
evilcode
这个作者很懒,什么都没留下…
展开
-
Goolge Android Developer -> Framework Topics -> Bluetooth
BluetoothKey ClassesBluetoothAdapterBluetoothDeviceBluetoothSocketBluetoothServerSocketIn this documentThe BasicsBluetooth PermissionsSetting Up BluetoothFinding DevicesQuerying paired devicesDiscovering devicesEnabling disco转载 2010-06-28 17:27:00 · 1663 阅读 · 0 评论 -
Android 2.0上使用蓝牙通信代码片断(服务端、客户端、数据传输)
服务器端://generate your own UUID at http://www.uuidgenerator.comUUID uuid = uuid.fromString(”27648B4D-D854-5674-FA60E4F535E44AF7″);BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();BluetoothServerSocket serverSocket = adapter.listenUsingRf转载 2010-06-28 18:27:00 · 4002 阅读 · 0 评论 -
Android蓝牙经验分享
对于一般的软件开发人员来说,蓝牙是很少用到的,尤其是Android的蓝牙开发,国内的例子很少Android对于蓝牙开发从2.0版本的sdk才开始支持,而且模拟器不支持,测试至少需要两部手机,所以制约了很多技术人员的开发,刚巧这段时间公司有蓝牙开发的需求,我看了很多国内、国外的资料,又研究了一下J2ME的蓝牙开发(为了找找思路),虽然我想要的功能还没实现(我曾经在很多论坛里问了很多遍,苦于没有高人解答..),我要实现的功能是连接一个硬件设备,凡是跟硬件沾上边的,都让软件人员转载 2010-06-28 17:08:00 · 4251 阅读 · 1 评论 -
Android蓝牙API之BluetoothAdapter类
使用BluetoothAdapter类,你能够在Android设备上查找周边的蓝牙设备然后配对(绑定),蓝牙通讯是基于唯一地址MAC来相互传输的,考虑到安全问题Bluetooth通讯时需要先配对。然后开始相互连接,连接后设备将会共享同一个RFCOMM通道以便相互传输数据,目前这些实现在Android 2.0或更高版本SDK上实现。一、查找发现 findding/discovering devices对于Android查找发现蓝牙设备使用BluetoothAdapter类的startDiscovery转载 2010-06-28 18:22:00 · 2168 阅读 · 0 评论 -
Android与标准Linux Kernel的对比
<br />在kernel子目录下存放的就是Android的Linux Kernel了, 通过和标准的Linux 2.6.25 Kernel的对比,我们可以发现,其主要增加了以下的内容: 1. 基于ARM架构增加Gold-Fish平台,相应增加的目录如下: kernel/arch/arm/mach-goldfish kernel/include/asm-arm/arch-goldfish<br /> 2. 增加了yaffs2 FLASH文件系统,相应增加的目录为:<b转载 2010-06-30 15:30:00 · 2012 阅读 · 2 评论 -
Android 初始化语言(init.*.rc、init.conf文件格式)
<br /> Android初始化语言包含了四种类型的声明:Actions(行动)、Commands(命令)、Services(服务)和Options(选项)。<br /><br /> 所有这些都是以行为单位的,各种记号由空格来隔开。C语言风格的反斜杠号可用于在记号间插入空格。双引号也可用于防止字符串被空格分割成多个记号。行末的反斜杠用于折行。<br /> 注释行以井号(#)开头(允许以空格开头)。<br /> Actions和Services声明一个转载 2010-06-30 16:07:00 · 650 阅读 · 0 评论 -
Experimental unofficial Bluetooth API for Android
<br />Code license: <br />Apache License 2.0<br />Featured downloads:<br />AndroidBluetoothAPI_0.3.jar<br />AndroidBluetoothAPI_javadoc_0.3.zip<br />AndroidBluetoothAPI_src_0.3.zipImportant News<br />Now (2009/10/27) that Android 2.0 supports Bluetooth转载 2010-06-29 16:29:00 · 1131 阅读 · 0 评论 -
android 编译系统阅读与分析(1)-envsetup.sh
<br />一直想分析一下andoid的整个build系统,苦于菜鸟一个又少有时间,只能蚂蚁搬家似的一点点学,一点点做.....<br />所谓分析,那是要对结构要有所见解,但因为这样那样的原因,还远没能达到高屋建瓴的水平。所以,得空就学一下linux,<br />顺便“读”一下有关的android内容,做些笔记。也希望能得到大家的指正,一起进步!~<br />(sed, awk, cut, wc, bash, gnumake...........RTFM.........~>_<~ )<b转载 2010-06-30 16:18:00 · 2660 阅读 · 0 评论 -
编译Native C的hello,world模块
<br /> Android 编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的 Android.mk. Android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了Android自身编译系统的很多处理,因此要真正理清楚其中的联系还比较复杂,不过这种方式的好处在于,编写一个新的Android.mk来给Android增加一个新的Component会比较简单。编译Java程转载 2010-06-30 20:30:00 · 694 阅读 · 0 评论 -
repo 的用法
1. 下载 repo 的地址: http://android.git.kernel.org/repo ,可以用 wget http://android.git.kernel.org/repo 或者 curl http://android.git.kernel.org/repo >~/bin/repo 来下载 repo , chmod a+x ~/bin/repo 2. 用repo sync 在抓去 android source code 的时候,会经常出现一些错误导致 repo sync转载 2010-06-29 09:22:00 · 2126 阅读 · 0 评论 -
Android 上成功实现了蓝牙的一些Profile
<br /> 前段时间做蓝牙方面的开发,Google的Android只实现了Handset/Handfree和A2DP/AVRCP等Profile,而其它常用的Profile如HID/DUN/SPP/OPP/FTP/PAN等却没有实现,并且Google方面关于何时实现也没有一个时间表。<br /> 前段时间我实现了HID/DUN/SPP三个Profile,下一步实现OPP/FTP等Profile。具体的开发其实也简单,我是参照A2DP的代码进行的相关Profile的实现。<br /> Andr转载 2010-06-29 13:52:00 · 3296 阅读 · 2 评论 -
Linux 内核启动挂载android根文件系统过程分析
<br /><br /><br />顺便罗列一下内核启动流程:<br /><br />/arch/arm/boot/compressed/head.S:<br /><br />Start:<br />Decompressed_kernel() //在/arch/arm/boot/compressed/misc.c 中<br />Call_kernel()<br /><br /><br />Stext:<br />/init/main.c<br />St转载 2010-06-30 10:14:00 · 2527 阅读 · 0 评论 -
Android 根文件系统分析
<br />经过这几天在网上搜索关于Android文件系统的相关资料,发现已经有很多高手分析了Android的文件系统,这些高手多从不同的方面分析了其文件系统的结构和运行原理。我这里就写一下自己的理解。<br /><br />首先是Android的文件系统根目录的结构:<br /><br /> # pwd && ls -a -l<br /> /<br /> drwxrwxrwt root root 2009-06-10 09:53 sqli转载 2010-06-30 15:54:00 · 762 阅读 · 0 评论 -
Android Donut Makefile分析之一 (build/envsetup.sh)
<br />build/envsetup.sh 脚本主体部分<br /><br />看源代码之前需要了解代码分布和结构,分析Makefile应该是最好的方法。在Blog记录之以备以后查看,也供有兴趣朋友参考。<br /><br />在编译donut之前,需要运行<br /><br />cd ~/mydroid<br />. build/envsetup.sh<br />lunch aosp_dream_us-eng<br />make<br /><br />build/e转载 2010-06-30 16:24:00 · 3064 阅读 · 0 评论 -
Android Donut Makefile 分析之二 (build/envsetup.sh)
<br />lunch函数提供了一个菜单,让开发人员选择需要编译的目标产品(target product)和变体(variant),并做一些检查,设置环境变量,并打印出主要的环境变量。<br /><br />直接运行lunch(必须先运行 build/envsetup.sh,让lunch函数驻留到环境变量中)<br /><br />ning@ning-desktop:~/donut-compare/mydroid$ lunch<br /><br />You're building on Li转载 2010-06-30 16:27:00 · 2185 阅读 · 0 评论 -
Android Donut Makefile 分析之三 (寻找linux内核)
<br />注意:是Donut,不是eclair或froyo!<br /> <br />Android 的核心 Makefile 为 build/core/main.mk (有关该Makefile的分析请见 http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/393 ),其中编译的内核的target为 INSTALLED_BOOTIMAGE_TARGET 即 out/target/product/dream-open/boot.i转载 2010-06-30 16:34:00 · 2670 阅读 · 0 评论 -
Android Building System 分析
想要了解一個系統,我常會從 makefile 或是 building system 下手,以了解系統組成元素為何? 目錄結構為何? 對於 Android ,我也不例外。透過了解 building system ,我們能知道如何新增、修改、刪除程式,並保有完整性,順利編譯出結果。 設定檔 Android building system 包括幾種重要的設定檔,Android.mk AndroidProducts.mk target_-.mk, host_-.mk a转载 2010-06-30 20:37:00 · 852 阅读 · 0 评论 -
Android 安装busybox
对于关注Android底层的朋友来说,其具体的启动过程应该是比较吸引我们的。但是很多启动文件什么的,都得adb push到host上来看,挺不方便的,都怪Android自带的Toolbox太简略了。所以在深入了解Android的启动流程之前,我们来把Busybox安装到Android上去,这样,就有很多工具供我们使用了。 首先去busybox主页 下载最新版本的源代码,然后用arm的交叉编译器编译出busybox的可执行程序,编译的时候需要注意一些设置选项,例如 Build Option转载 2010-06-30 09:50:00 · 2960 阅读 · 0 评论 -
Android 编译命令及选项
<br />Android 编译命令及选项 <br />1 运行 build/envsetup.sh, 该文件提供 m,mm,mmm 等命令 <br />#. ./build/envsetup.sh <br />注意 : . . 之间是空格 <br />运行之后用 help 查看命令 <br />#help <br />m 编译整个 android 工程 <br />mm 编译当前目录下的模块 <br />mmm path 编译指定目录下的模块 <br />2 配置参数 <br />#tap转载 2010-06-30 10:39:00 · 5053 阅读 · 0 评论 -
Android 的属性系统
<br />每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。<br />在系统初始化时,Android将分配一个共享内存区来存储的属性。这些是由“init”守护进程完成的,其源代码位于:device/system/init。“init”守护进程将启动一个属性服务。属性服务在“init”守护进程中运行。每一个客户端想要设置属性时,必须连接属性服务,再向其发送信转载 2010-06-30 16:08:00 · 515 阅读 · 0 评论 -
Android中的签名验证(1)
<br /> Android系统要求所有安装的应用程序必需有数字签名。否则系统将不会安装和运行没有合适的签名许可的程序。无论是在设备还是模拟器上都必须给你的程序建立签名才可以调试运。这是所有Android开发人员都懂得的道理。但是什么是数字签名,其中的原理是什么呢?我并不了解。所有趁有空,查了查相关的知识。<br /> 在介绍Android,我们要了解密码学的基本知识:加密。请看对加密技术的一点总结(1) <br /> 而在Gphone上的数字签名不仅存在于所有安转载 2010-06-30 20:07:00 · 838 阅读 · 0 评论 -
Android Power Management
总体上来说Android的电源管理还是比较简单的, 主要就是通过锁和定时器来切换系统的状态,使系统的功耗降至最低,整个系统的电源管理架构图如下: (注该图来自Steve Guo)接下来我们从Java应用层面, Android framework层面, Linux内核层面分别进行详细的讨论:应用层的使用:Android提供了现成android.os.PowerManager类,该类用于控制设备的电源状态的切换.该类对外有三个接口函数: void goToSleep(long t转载 2010-07-05 22:30:00 · 1526 阅读 · 1 评论 -
Android蓝牙栈bluez使用方法
<br />很多开发人员在最新的Android 0.9 SDK中没有找到蓝牙栈相关的参考,不过在官方消息中我们已经看到了是采用的是org.bluez相关的Package。这里主要介绍下Android蓝牙SDP相关的例程,我们看到是.intent.action,分为4个阶段:<br /> org.bluez.intent.action.DISCOVERY_STARTED 开始探测<br /> org.bluez.intent.action.REMOTE_DEVICE_FOUND 远程设转载 2010-07-06 17:04:00 · 2346 阅读 · 0 评论 -
Bluetooth Features on Android by release
http://source.android.com/projects/bluetooth-featuresBluetooth Features by releaseAndroid 2.0 & 2.1 release (Eclair)Java API featuresBluetooth on / offDevice discoveryRFCOMM Server and Client socketsAutomatic RFCOMM channel lookup and SDP record adve转载 2010-07-06 17:17:00 · 1497 阅读 · 0 评论 -
android的logcat详细用法
<br />Android日志系统提供了记录和查看系统调试信息的功能。日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过 logcat 命令来查看和使用.<br />使用logcat命令<br />你可以用 logcat 命令来查看系统日志缓冲区的内容:[adb] logcat [<option>] ... [<filter-spec>] ...<br />请查看Listing of logcat Command Options ,它对logcat命令有详细的描述 .<br /转载 2010-07-06 17:20:00 · 690 阅读 · 0 评论 -
Bluetooth FAQ on Android
<br />URL: http://sites.google.com/a/android.com/opensource/projects/bluetooth-faq<br />This FAQ refers to the Android Open Source codebase, and is written for platform developers with root access on devices such as the Androd Developer Phone.<br /转载 2010-07-06 17:12:00 · 2616 阅读 · 0 评论 -
android bluez
蓝牙的学习一共要跨hardware, linux kernel, framework, library, application layer. Hardware: bluetooth chipset, 2.4GHZ, hop frequency, 2Mbps等 Linux Kernel: bluez协议栈, uart驱动, h4协议, hci,l2cap, sco, rfcomm Library: libbluedroid.so 等转载 2010-07-06 17:15:00 · 4631 阅读 · 0 评论 -
为Android加入busybox工具
<br />原文地址:http://blog.csdn.net/liaoshengjiong/archive/2009/03/04/3957725.aspx<br /> <br /> <br />我们可以通过两种方式进入Android的console:<br />1. 直接执行命令emulator -shell;<br />2. 在启动emulator后,通过命令adb shell进入。<br />之后我们就可以使用一些linux下常用的命令了,如ls,cat等。然而Android自带的to转载 2010-07-09 16:50:00 · 620 阅读 · 0 评论 -
Android 单个模块编译
<br />编译模块<br />android中的一个应用程序可以单独编译,编译后要重新生成system.img<br />在源码目录下执行<br /> . build/envsetup.sh (.后面有空格)<br />就多出一些命令:<br /> - croot: Changes directory to the top of the tree.<br /> - m: Makes from the top of the tree.<br /> - mm:转载 2010-07-12 15:51:00 · 1298 阅读 · 0 评论 -
手工打包system.img
make showcommands snod转载 2010-07-12 20:55:00 · 7850 阅读 · 0 评论 -
Android Linux 启动Logo
在配置内核的时候选中了启动Logo的支持。emerge netpbm --> pngtopnm tools 使用下面的方法可以将企鹅的Logo换成自己喜欢的任意图片。首先准备一幅自己喜欢的图片,然后将该图片保存成png格式,例如linuxlogo.png。在Linux下使用下面的命令:# pngtopnm linuxlogo.png > linuxlogo.pnm# pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm# pnm转载 2010-07-12 09:40:00 · 3027 阅读 · 0 评论 -
Android Build System
Android Build System<br />Status:Draft (as of May 18, 2006)<br />ContentsObjective<br />The primary goals of reworking the buildsystem are (1) to make dependencies work more reliably, so that whenfiles need to rebuilt, they are, and (2) to i转载 2010-07-13 14:38:00 · 909 阅读 · 0 评论 -
Android Building System 总结
<br />原文地址:http://blog.csdn.net/yili_xie/archive/2009/12/14/5004205.aspx<br />花了一个月的时间来看Android Make,在网上总是看到某某大虾说一天就把Android Makeoverview了一下,不得不感叹现在大虾的强大和咱那连蜗牛都可以鄙视一下的进度。不过总算是彻底看清的Androidmake这个系统,不得不当初架构出这套机制的神人顶礼膜拜一下,虔诚地烧三柱高香,惊叹于神人的伟大的时候也越感自己的沧海一粟,苦海无转载 2010-07-13 13:45:00 · 797 阅读 · 0 评论 -
Android build sequence
<br />原文地址:http://blog.csdn.net/yili_xie/archive/2009/12/21/5046757.aspx<br />小图一张,大家一起研究~~<br />转载 2010-07-13 13:47:00 · 630 阅读 · 0 评论 -
Android Building System
<br />最近研究了下Android的编译系统,下面结合编译我们自己的产品mobot来对整个编译系统进行必要的介绍,方便大家今后对默认编译的修改。<br /> <br />先列出几个觉得重要的Make文件:<br />build/buildspec.mk<br />build/envsetup.sh<br />build/core/main.mk<br />build/core/envsetup.mk<br />build/config.mk<br /> <br />总的来说,Android以模块(m转载 2010-07-13 13:56:00 · 1034 阅读 · 0 评论 -
native programming with android building system
<br />原文地址:http://www.cnblogs.com/rxwen/archive/2010/02/01/1713017.html<br />In the previous post, native programming on android, I showed how to use code sourcery toolchain to do native programming on android. But in that way, we must link c libra转载 2010-07-13 13:58:00 · 125 阅读 · 0 评论 -
Android.mk for your own module
<br />原文地址:http://blog.csdn.net/yili_xie/archive/2009/12/09/4971736.aspx<br /> <br /> 这里我们向Android中添加自己的模块,只涉及到.so/*.a/elf source的编译,以及如何将prebuiltfile添加进工程。对于APK以及jar的source暂时没有仔细研究,要添加进去的话可以参照/pacakge和/framework里面的Android.mk ~~<br /> 首先是可能转载 2010-07-13 14:14:00 · 3854 阅读 · 0 评论 -
Android build system note
<br />原文地址:http://blog.csdn.net/yili_xie/archive/2009/11/30/4906865.aspx<br />1. Android编译系统分析<br />编译脚本及系统变量<br />build/envsetup.sh脚本分析<br />在编译源代码之前通常需要在android源代码顶层目录执行 . ./build/envsetup.sh 目的是为了使用<br />脚本 envsetup.sh 里面定义了一些函数:<br />function转载 2010-07-13 14:23:00 · 569 阅读 · 0 评论 -
Android ramdisk.img system.img userdata.img
<br /> ramdisk.img is a small partition image that is mounted read-only by the<br /> kernel at boot time. It only contains /init and a few config files. It is<br /> used to start init which will mount the rest of the system images properly<转载 2010-07-13 14:24:00 · 1251 阅读 · 0 评论 -
Android build System
<br />[First written by Steve Guo, please keep the mark if forwarding.]<br />Device/docs/design/build-system.htmlis a good start point to understand Android build system. In thistopic, I will describe the behind details using mm to compile anexecut转载 2010-07-13 14:27:00 · 1262 阅读 · 0 评论