2025-02-10

在上篇博客說瞭一下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

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *