bluez4.99 glib2.29移植到android4.0 移植记录
2012-11-29 09:29
344 查看
bluez4.99移植到android 4.0, glibc2.29移植到android 4.0源码(android glibc为2.20), 以下内容仅作为我自己开发的记录, 不具有权威性, 如有童鞋
需要,仅供参考。
bluez-3e53b38 版本:
l gcc编译
查看你的glib库的版本: rpm -qa | grep glib
需要
configure: error: GLib >= 2.28 is required
安装GLib又需要
configure: error: Package requirements (libffi >= 3.0.0) were not met
notes:
*.tar.gz和*.tar.bz2
tar
xvzf XXX.tar.gz
如果是*.tar.bz2,则
tar xvfj
XXX.tar.bz2
d
解压出来的软件包
/configure
make
make install
make clean
安装(make install)glib ,
报:
configure: error:
*** You must have either have gettext support in your C library, or use the
*** GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html
下载gettext-0.18.1.1.tar.gz 同样方法安装
在安装libffi, gettext, glib后编译可以通过。
安装autoconf ,
生成configuration文件
参考: http://blog.csdn.net/sooneboy/article/details/4030966
l
android bluez源码编译
文件夹 | 说明 | 合入情况 | 删除文件 | 新增文件 |
Attrib: | | | | att-database.h gatt-service.c gatt-service.h |
Audio: | mk | 合入MK, 修改MK | module-bluetooth-sink.c Adroid_audio_hw.c Liba2dp.c/liba2dp.h (移植) | avctp.c/avctp.h avrcp.c/avrcp.h |
Btio | mk | 合入MK | | |
Common: | 无更新 | N/A | | |
Compat: | mk | 合入MK | | |
Cups: | 无更新 | N/A | | |
Gdbus: | mk | 合入MK | | |
Health: | mk | 合入MK | | |
Input: | mk | 合入MK | | |
Lib: | mk | 合入MK | | |
Network: | mk | 合入MK | | |
Plugins: | mk | 合入MK 需修改 | Builtin.h Echo.c | Adaptername.c External-dumpmy.c Wiinote.c |
Sap: | 内容减少,可不改 | N/A | | Sap-u8500.c |
Serial: | 无更新 | N/A | | |
Src: | mk | 合入MK 需修改 | Android_bluez.c(移植) | Attio.h Sdp-client.c Sdp-client.h |
Test: | mk | 合入MK | | |
Tools: | mk | 合入MK 需修改 | | |
deviceInfo | | | | |
emulator | | | | |
mgmt | | | | |
monitor | | | | |
proximity | | | | |
thermometer | | | | |
time | | | | |
unit | | | | |
文本内容未比较
Glib移植记录:
1.
glib 的源码,最主要的是glib这个文件夹。
2.
移植时, ANDROID_STUB必须保留,而且最好,定义的宏可以拿出来,放到Android.mk
中,如:
LOCAL_CFLAGS:= \
-DANDROID_STUB \
-DGLIB_COMPILATION \
这里的两个是之前在文件中定义的宏
# define ANDROID_STUB
# define GLIB_COMPILATION
3.
G_STATIC_ASSERT (sizeof(gdouble) == sizeof (guint64))
size of array 'Compile_Time_Assertion' is negative
#define G_STATIC_ASSERT(expr) typedef struct
{ char Compile_Time_Assertion[(expr) ? 1 : -1]; } G_PASTE (_GStaticAssert_, __LINE__)
这里是数据长度不一致,在ubuntu下, gdouble, guint64长度都是8, arm下,两者长度不一致
4.g_unix_open_pipe: android.mk中添加新增的C文件,注意文件的路径
LOCAL_SRC_FILES:= \
garray.c \
gasyncqueue.c
\
LOCAL_C_INCLUDES:= \
$(LOCAL_PATH)/../ \
$(LOCAL_PATH) \
$(LOCAL_PATH)/pcre \
$(LOCAL_PATH)/gnulib \
5. glib2.29 没有引用 galias.h
头文件? galias.h galiasdef.c
C/C++ 里面, visibility("hidden")
这是什吗意思?
visibility用于设置动态链接库中函数的可见性,将变量或函数设置为hidden,则该符号仅在本so中可见,在其他库中则不可见。
相关文章推荐
- 华为3GE261在Android4.0、linux3.0.8内核上的移植记录1
- 华为3GE261在Android4.0、linux3.0.8内核上的移植记录2
- android4.0.3 wifi 移植记录
- 将boa移植到android4.0平台跟踪报告
- 3月1日数平项目系统移植问题记录!
- 基于U-BOOT-2010.09移植OK6410开发版记录(一)
- android4.0移植tslib
- linux3.18 内核移植记录(Exynos4412)
- 记录Qtopia Core 4.3.5移植到9263EK平台!
- dm3730 qt和tslib 移植记录
- OK6410调试记录——移植Uboot支持网络
- U-boot移植问题记录
- FL2440之U-Boot移植记录(一)
- DI v6.2,从测试环境移植到生产环境,如何清理以前运行过的垃圾数据(作业监控记录等信息及后台日志记录相关数据)
- 记录17--s3c2440移植linux
- 关于数据库移植方面的记录
- MINI2440移植xenomai记录
- WINCE4.2+sqlce1.0程序移植到WINCE5.0中的过程记录
- at91sam9261 arm芯片uboot移植记录。
- U-boot-1.1.6-2008R1到vdsp5(bf561)的移植记录(2): .macro