从源代码构建sipdroid

本文档详细介绍了如何从源代码构建sipdroid,涉及设置NDK环境,配置Cygwin,编译NDK示例,以及利用JNI进行开发。通过此过程,开发者可以了解NDK提供的稳定API,包括libc、libm、JNI、Zlib压缩、日志、OpenGL ES等,并学习到Java与C/C++交互的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.check out源代码:

2.搭建NDK环境:

2.1下载android-ndk,地址是:http://dl.google.com/android/ndk/android-ndk-r4b-windows.zip

http://dl.google.com/android/ndk/android-ndk-r4b-linux-x86.zip

2.2安装Cygwin,从以下站点下载:www.cygwin.com/setup.exe,(检查一下make和awk包是否已经勾选了,默认是勾选的), 去掉你不需要的包。

2.3进入Cygwin,设置android-ndk的环境变量,方法是修改~/.bash_profile,在末尾添加

ANDROID_NDK_ROOT=/cygdrive/f/ChromeDownload/android-ndk-r4b-windows/android-ndk-r4b export ANDROID_NDK_ROOT export PATH=$ANDROID_NDK_ROOT:$PAT

这几行,重启Cygwin

2.4运行NDK示例

进入$ANDROID_NDK_ROOT/samples/hello-jni

运行ndk-build即可在libs/armeabi下生成libhello-jni.so

启动eclipse,创建一个Android Project,选择Create project form existring source,执行Build,就可以在工程目录的bin下找到 HelloJni.apk

3.编写自己的NDK示例:

3.1NDK提供的能力:

It provides a set of system headers for stable native APIs that are guaranteed to be supported in all later releases of the platform:

  • libc (C library) headers
  • libm (math library) headers
  • JNI interface headers
  • libz (Zlib compression) headers
  • liblog (Android logging) header
  • OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries) headers
  • libjnigraphics (Pixel buffer access) header (for Android 2.2 and above).
  • A Minimal set of headers for C++ support

        3.2java jni:

参考:http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jni.html

 

NOTE:在改动了JNI的代码后,需要重新ndk-build生成.so,但是adt不会自动检测到这个变化而重新生成.apk,让java代码更新一下,才会生成对于最新的.so的.apt。

 

3.3调试

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值