源碼中編譯.so文件

愈來愈強烈的感受到學到的知識最好要經過筆記的形式記錄下來,要否則時間久了就會忘掉,再用到的時候還要從新學習,實爲浪費。以前本身學到的一些知識沒有馬上將記錄下來,如今想一想真是浪費了。痛下決心,今後,好好寫博客,記錄學習軌跡。恰好今天公司android技術老大新教了一項新技能,記錄一下,以防遺忘,本人新手,歡迎批評指正。java

    項目中有時須要寫一些c++的代碼,編成.so的文件供java程序調用,而c++文件中用到android源碼中的一些c++的代碼,所以須要在源碼環境中編譯。linux

  首先必需要用android源碼,個人源碼位於/home/hxl/work/android/android4.4.2/mydroid目錄下,固然是linux系統了。linux命令行中進入該目錄下,android

運行命令source build/envsetup.sh,該命令的意思是執行build目錄下的envsetup.sh文件。(本人的build目錄在myandroid目錄下)c++


而後運行 choosecombo命令 會出來一系列讓你選擇版本的東西,直接回車好了,不知此步是否爲必須,我嘗試過未執行該命令依然能編譯成功。學習



再而後將你的c++的相關文件包括mk文件和頭文件放入源碼中的任一目錄,進入該目錄ui

最後執行mm -B等一會,完成後就獲得.so的文件了,就能夠放在android項目中的libs文件夾下的armeabi文件夾了供java調用了。spa

注意,生成的.so文件 /home/hxl/work/android/android4.4.2/mydroid/out/target/product/generic/system/lib文件夾下面了。.net

相關連接:http://blog.csdn.net/luoshengyang/article/details/6566662命令行

相關文章
相關標籤/搜索