Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 開發筆記:android ndk 開發之Application.mk

開發筆記:android ndk 開發之Application.mk

編輯:關於Android編程

Application.mk的作用:

Application.mk描述了應用程序需要哪些動態庫和靜態庫。

 

存放位置:

文件通常放在項目目錄的jni文件夾下。

 

變量定義:

由於Application.mk說到底只是作為GNU makefile的一個片段,其中也需要定義一些變量。

 

-APP_PROJECT_PATH

此變量應該被賦予項目的根目錄地址,此項為可選項。

 


-APP_MODULES

 


此項為可選項,當沒有此選項時,NDK會自動編譯android.mk文件中定義的所有模塊及其包含的子模塊。

 

當有此選項時,必須是一個模塊的列表,各個模塊之間以空格為分隔符分開或者是向android.mk中羅列開來。

 

-APP_OPTIM  www.2cto.com

此選項可以被定義為 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++.soNDK本身為用戶提供了可選擇的C++庫,用戶可以使用或是鏈接到自己的應用。例如: APP_STL := stlport_static    --> static STLport library
       APP_STL := stlport_shared    --> shared STLport library
       APP_STL := system            --> default C++ runtime library

 

作者:xi_hong_shi
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved