Android4.2蓝牙学习环境搭建

题记:

由于我是用的公司的开发环境(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.创建目录

[plain] view plaincopy

  1. mkdir ~/android_source/  

  2. mkdir ~/bin/  

2.下载git

[plain] view plaincopy

  1. <span style="font-family:Arial,Helvetica,sans-serif">$ sudo apt-get install git-core gnupg</span>  

3.下载repo

[plain] view plaincopy

  1. $ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo  

  2. $ chmod a+x ~/bin/repo  

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

[plain] view plaincopy

  1. 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.下载代码

[plain] view plaincopy

  1. repo sync  

接下来是漫长的等待。


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

编译源代码

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

参考

1.下载编译工具集

[plain] view plaincopy

  1. 1、安装各种工具集  

  2. $ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev build-essential  

  3. 2、安装JDK  

  4. $ sudo add-apt-repository ppa:ferramroberto/java  

  5. $ sudo apt-get update  

  6. $ sudo apt-get install sun-java6-jre sun-java6-plugin  

  7. $ sudo apt-get install sun-java6-jdk  

2.编译Android

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

[plain] view plaincopy

  1. $ source build/envsetup.env  

  2. $ lunch full-eng  

  3. $ m -j[x]  (x根据你CPU有几个核来决定,我是8核,就是m -j8)  

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

[plain] view plaincopy

  1. cd packages/apps/Bluetooth; mm  

  2. cd externel/bluetooth/bluedroid; mm  

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

更新编译好的东东

由于我们只是做蓝牙开发,所以改动都在应用层上的,主要会修改到两个程序:

/system/app/Bluetooth.apk

/system/lib/hw/bluetooth.default.so

所以,大家在有Root权限的手机上,直接

[plain] view plaincopy

  1. adb push Bluetooth.apk /system/app/Bluetooth.apk  

  2. adb push bluetooth.default.so /system/lib/hw/bluetooth.default.so  

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

阅读源代码的工具

1、在Linux上读代码的经典组合:

[plain] view plaincopy

  1. $ 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下装虚拟机学习。


你可能感兴趣的:(Android4.2蓝牙学习环境搭建)