在上篇博客说了一下 ant 这个工具。
本篇博客会继续使用 ant 编译 android 开源项目:sipdroid
1. 源码下载
下载源码需要 svn,自己下载 svn,配置。
项目介绍:http://code.google.com/p/sipdroid/
源码下载:http://code.google.com/p/sipdroid/source/checkout
2. 编译
我下载之后,项目源码位于 /sipdroid-read-only
修改 sipdroid-read-only 为 sipdroid
cd /home/mark/workspace/mPro android update project -p sipdroid/ -t android-8然后,这样做:
cd sipdroid ant debug
如果看到下面信息,那么恭喜你,编译通过。
编译成功之后,在sipdroid/bin目录下会有apk文件生成。
3. 导入 eclipse
打开 eclipse,导入该工程。
ok,开始研究吧!
4. 编译库文件
使用 NDK 编译该 jni 下面的文件,报错:
Android NDK: There is no Android.mk under /home/mark/workspace/mPro/sipdroid/jni/jni Android NDK: If this is intentional please define APP_BUILD_SCRIPT to point Android NDK: to a valid NDK build script. /home/mark/android/android-ndk-r5c/build/core/add-application.mk:126: *** Android NDK: Aborting... . Stop.然后,修改一下Application.mk文件,再编译,报错:
Android NDK: /home/mark/workspace/mPro/sipdroid/jni/../jni/Android.mk:silkcommon: LOCAL_MODULE_FILENAME must not contain a file extension /home/mark/android/android-ndk-r5c/build/core/build-static-library.mk:29: *** Android NDK: Aborting . Stop.
解决问题:
在源码的 jni 目录下面 找到 Android.mk 文件,大约在第 90 行有下面内容:
SILK := silk LOCAL_MODULE := silkcommon LOCAL_SRC_FILES := $(SILK)/src/SKP_Silk_A2NLSF.c \
include $(CLEAR_VARS) SILK := silk LOCAL_MODULE := silkcommon LOCAL_SRC_FILES := $(SILK)/src/SKP_Silk_A2NLSF.c \