在上篇博客說瞭一下ant這個工具,鏈接地址:
http://blog.csdn.net/androidbluetooth/article/details/6594401
本篇博客會繼續使用ant編譯android開源項目:sipdroid
1. sipdroid
下載源碼需要svn,自己下載svn,配置。如果你是linux系統,這將是這將很簡單的事情
項目介紹: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 \
再次編譯,即可!
作者:AndroidBluetooth