现在的位置: 首页 > 综合 > 正文

Android4.2蓝牙学习环境搭建

2013年12月09日 ⁄ 综合 ⁄ 共 2213字 ⁄ 字号 评论关闭

题记:

由于我是用的公司的开发环境(repo源在公司server上,编译环境也是之前就搭上了),所以没有自己在手机上做过蓝牙系统级的开发,所以以下的环境的搭建可能并不是很靠谱。
对于只需要看看文章,看看源代码,并不需要在机器上调试蓝牙系统的朋友,不需要看编译源代码这一章,下载源代码也只需要/external/bluetooth/bluedroid和/packages/apps/Bluetooth就可以了(下载地址:http://pan.baidu.com/s/1j6ys9)
对于有条件可以在真机上做蓝牙系统开发的朋友,则需要编译Android系统源代码,但是不需要烧系统和Kernel,因为Android4.2的蓝牙已经都在应用层了。

下载源代码

虽然这个已经有无数的文章在介绍了,但是为了完整,还是得写。

这里官方的源码下载方式是用Google的repo工具下载,我本人尝试了几次之后,决定是放弃这样的下载方式,因为我的网络太差了,每次下了一半天就不动,所以去找了一个提供打包下载Android源码的地址,总算把源码下下来了(由于我用的那个下载地址目前已经不能用了,所以也不提供了)。

以下是Ubuntu下下载Android4.2源码的方法(注:并没经过本人测试,只是按照官方给的方法转载的

参考:http://source.android.com/source/downloading.html

1.创建目录

mkdir ~/android_source/
mkdir ~/bin/

2.下载git

$ sudo apt-get install git-core gnupg

3.下载repo

$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

4.初始化工作目录(主要是下载repo utils和manufests.xml)

repo init -u https://android.googlesource.com/platform/manifest -b android-4.2.2_r1

这里的android-4.2.2_r1是Branch的名字,可以从https://android.googlesource.com/platform/manifest/+refs找到所有的branch,下载自己需要的版本。

5.下载代码

repo sync

接下来是漫长的等待。

如果其他还差什么工具,就根据错误提示,去搜索一下,然后下载吧。

编译源代码

这一步不是非做不可,如果只是想分析学习Android蓝牙的话,其实只看源代码也是可以的,但是如果能够通过实作的编译Bluedroid,拿到Android里面去调试,也许更好。
参考

1.下载编译工具集

1、安装各种工具集
$ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev build-essential
2、安装JDK
$ sudo add-apt-repository ppa:ferramroberto/java
$ sudo apt-get update
$ sudo apt-get install sun-java6-jre sun-java6-plugin
$ sudo apt-get install sun-java6-jdk

2.编译Android

参考:http://source.android.com/source/building-running.html

$ source build/envsetup.env
$ lunch full-eng
$ m -j[x]  (x根据你CPU有几个核来决定,我是8核,就是m -j8)

PS:你可以不用编译整个Android系统,可以直接

cd packages/apps/Bluetooth; mm
cd externel/bluetooth/bluedroid; mm

但是还是得等很久,因为Bluetooth.apk需要依赖Android的framework才能编译。

更新编译好的东东

由于我们只是做蓝牙开发,所以改动都在应用层上的,主要会修改到两个程序:
/system/app/Bluetooth.apk
/system/lib/hw/bluetooth.default.so
所以,大家在有Root权限的手机上,直接
adb push Bluetooth.apk /system/app/Bluetooth.apk
adb push bluetooth.default.so /system/lib/hw/bluetooth.default.so

就可以了,然后重启Bluetooth.apk或者重启系统。

阅读源代码的工具

1、在Linux上读代码的经典组合:
$ sudo apt-get install vim ctags cscope

具体怎么用,就Google一下吧。

2、windows的话就安装一个source insight吧,很好用,但需要注意的是,不要把所有Android代码都导入到project里面去,只导入/external/bluetooth/bluedroid和/packages/apps/Bluetooth/就可以了

另外,Linux也可以用source insight,用wine装,建议如果确实对Linux使用不熟悉的朋友,还是在windows下装虚拟机学习。

抱歉!评论已关闭.