日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Application.mk用法详解

發(fā)布時間:2023/12/15 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Application.mk用法详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Application.mk文件定義要編譯的多個變量的GNU Makefile片段,位于PROJECT/jni/目錄下,PROJECT/jni/目錄下,PROJECT/jni/,PROJECT是項目目錄,另一種方式放到NDK/apps/目錄的子目錄下(NDK/apps/目錄的子目錄下(NDK/apps/NDK/apps//Application.mk);

Application.mk枚舉并描述你的應用需要的模塊,這些信息包括:用于針對特定平臺進行編譯的ABI、工具鏈、要包含的標準庫(靜態(tài)和動態(tài)STLport或默認系統(tǒng));
Application變量

  • APP_PLATFORM
    變量設置Android平臺的名稱;
    eg:APP_PLATFORM := android-9
  • APP_ABI
    NDK構建系統(tǒng)默認使用armeabi ABI生成機器代碼,可以自己進行設置,
    eg:APP_ABI :=armeabi
    可以了解ABI詳情
  • APP_PROJECT_PATH
    此變量用于存儲應用項目根目錄的絕對路徑,如果Application.mk文件放在NDK/apps/<myapp>下必須設置此變量,如果放在NDK/apps/<myapp>下必須設置此變量,如果放在NDK/apps/<myapp>PROJECT/jni/目錄下此變量可選
  • APP_OPTIM
    此變量值為release或debug,默認為release發(fā)行模式,生成高度優(yōu)化的二進制文件,設置debug模式生成未優(yōu)化的二進制文件,容易進行調(diào)試;
    注:如果在AndroidMainfest.xml的聲明android:debuggable=true將導致此變量使用debug而非release,可以通過設置release替換默認值;
  • APP_BUILD_SCRIPT
    默認情況下,NDK構建系統(tǒng)在jni/下查找名稱為Android.mk的文件;以通過APP_BUILD_SCRIPT定義指向構建腳本;
  • APP_STL
    默認情況下,NDK構建系統(tǒng)為Android系統(tǒng)提供的最小C++運行時庫(system/lib/libstdc++.so), 說明一下,system C++運行庫要被廢除了,很多情況下C++ STL功能無法使用。所以最好加上 APP_STL := c++_shared 這樣的腳本。NDK運行時和功能需要的C++庫可以參考:[C++支持庫;]
    https://developer.android.google.cn/ndk/guides/cpp-support.html#runtimes
  • APP_PIE
    從Android4.1(API Level 16)開始,Android的動態(tài)鏈接器支持位置獨立的可執(zhí)行文件(PIE); 從Android 5.0(API Level 21)開始可執(zhí)行文件需要PIE. 默認情況下,從android-16起ndk-build會自動將此值設置為true,也可也同手動設置true或false;此標志只適用于可執(zhí)行文件,在構建共享或靜態(tài)庫時沒有影響;
  • 總結

    以上是生活随笔為你收集整理的Application.mk用法详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。