Application.mk的作用:
Application.mk描述了應用程序需要哪些動態庫和靜態庫。
存放位置:
文件通常放在項目目錄的jni文件夾下。
變量定義:
由於Application.mk說到底只是作爲GNU makefile的一個片段,其中也需要定義一些變量。
-APP_PROJECT_PATH
此變量應該被賦予項目的根目錄地址,此項爲可選項。
-APP_MODULES
此項爲可選項,當沒有此選項時,NDK會自動編譯android.mk文件中定義的所有模塊及其包含的子模塊。
當有此選項時,必須是一個模塊的列表,各個模塊之間以空格爲分隔符分開或者是向android.mk中羅列開來。
-APP_OPTIM
此選項可以被定義爲 release 或 debug。這個選項用於變更編譯程序模塊時的優化級別。
默認的選項是release,此選項下會得到較高級別的優化。debug下爲了便於調試不會進行過多優化。
可以在manifest文件中<application>tag內設置android:debuggable爲ture來改變默認值爲debug
其實無論debug還是release都是允許用戶進行調試的,只是debug模式下會提供更多的信息。
-APP_BUILD_SCRIPT
默認條件下,NDK編譯系統會到工程目錄的jni文件夾下查找android.mk文件。如果你想覆蓋這個行爲的話
就可以定義此變量此變量。如果你給定的是一個非絕對路徑的話,那麼這個路徑總是被認爲是相對於NDK頂層目錄的路徑。
-APP_ABI
默認條件是armeabi,用戶可以通過此選項進行修改,例如:爲了在ARMv7上支持硬件FPU指令可以修改如下:
APP_ABI := armeabi-v7a
或者支持ARMv5TE 又支持ARMv7的設備
APP_ABI := armeabi armeabi-v7a
-APP_STL
默認條件下,NDK編譯系統會使用android系統提供的輕量級C++運行時庫
/system/lib/libstdc++.so
NDK本身爲用戶提供了可選擇的C++庫,用戶可以使用或是鏈接到自己的應用。
例如:
APP_STL := stlport_static --> static STLport library
APP_STL := stlport_shared --> shared STLport library
APP_STL := system --> default C++ runtime library
-------------------------------------------------------------------------------------------------
畢業後頭五年決定你的一生 10類最急需IT人才:Java開發者居首
海量Android教程、開發資料和源碼 給將成爲“Android高手”的10個建議
成爲Java高手的25個學習目標--非常經典 Android 4.1果凍豆新特性詳解
Java侵權訴訟Google獲勝,Android厚積薄發 面試必備:Android筆試總結
Android高手必須掌握的28大內容和10個建議 Android平臺研發人才缺口30萬
Android開發環境安裝和配置步驟詳細圖解 2012國內移動App開發者大調查結果
Windows 7下搭建android開發環境步驟圖解 Android 4.0的30個突出的新特性
Android高手要經過的6個階段和6個境界 linux下搭建Android開發環境步驟
從IT菜鳥變爲“IT骨幹開發者”的11個建議 程序員編程技術迅速提高的終極攻略
2012世界各國人均GDP排名,中國超泰國 2012年全國各省平均工資排行
2012年中國大學高校排行榜(580強排名) 中國各省市面積和人口數量排名
中國百萬開發者大調查:程序員的薪水不錯 Java高手需要越過的10座高山
周立功談嵌入式:我的25年嵌入式生涯 Android和Java語言的異同和關係
華爲中國區手機銷量達千萬,80%爲智能機 谷歌Android碎片化嚴重
2012年中國各省GDP和人均GDP排名 90後就業“錢景”:IT仍是最佳選擇
2012全球城市競爭力500強,69箇中國城市上榜 不要做浮躁的軟件工程師
2012年世界500強,79家大陸香港臺灣公司上榜名單 給IT新兵的15個建議
美國知名科技公司入門級軟件工程師的薪水排名 回顧Java經過的風風雨雨
71道經典Android面試題和答案--重要知識點都涉及到了
芯片巨頭海思和展訊:給中國芯片業帶來信心 海量經典Java教程、學習資料和源碼