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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android.mk文件编写

發布時間:2025/6/17 Android 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android.mk文件编写 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android.mk文件編寫的例子:

  LOCAL_PATH := $(call my-dir)

  include $(CLEAR_VARS)

  LOCAL_MODULE := hello

  LOCAL_SRC_FILES := hello.cpp

  inlcude $(BUILD_SHARED_LIBRARY)

解析:

  每個Android.mk文件必須以LOCAL_PATH開始,指定項目的根路徑,用于在開發tree中查找源文件

  宏my-dir則由Build System提供,返回當前Android.mk文件的路徑

  

  CLEAR_VARS變量由Build System提供,并指向一個指定的GNU Makefile,由它清理各種LOCAL_xxx變量(因為所有的編譯控制文件由同一個GNU make解析和執行,這些變量都是全局的,所以清理后才能避免相互影響),比如LOCAL_MODULE,LOCAL_SRC_FILES,LOCAL_STATIC_LIBRARIES等,但是不清理LOCAL_PATH。

  

  LOCAL_MODULE模塊必須定義,表示Android.mk中的每一個模塊,名字必須唯一不包含空格,Build System會自動添加適當的前綴和后綴,比如,自己要產生動態庫且命名為foo,則生成后名字會變為libfoo.so,但如果自己定義名字為libfoo,則不加前綴,為libfoo.so

?

  LOCAL_SRC_FILES變量必須要有,后面接需要編譯的源碼,如C/C++源碼,可以不列出頭文件,Build System會自動幫我們找出依賴文件

?

  BUILD_SHARED_LIBRARY是Build System提供的一個變量,指向GNU Makefile Script,它負責收集自從上次調用include $(CLEAR_VARS)后的所有LOCAL_xxx變量,并決定編譯為什么

  BUILD_STATIC_LIBRARY:編譯為靜態庫

  BUILD_SHARED_LIBRARY:編譯為動態庫

  BUILD_EXECUTABLE:編譯為Native C可執行程序

  BUILD_JAVA_LIBRARY:編譯一個jar包(jar包就是一個zip格式的壓縮包),里面是dex格式的文件,導入eclipse不可用

  BUILD_STATIC_JAVA_LIBRARY:同上也是編譯一個jar包,但是里面每個java文件對新的class文件都單獨存在,可以導入eclipse使用

?

include $(CLEAR_VARS) include $(BUILD_PACKAGE)是一對,表示一個編譯模塊,編譯模塊中間的內容沒有先后順序,一個Android.mk文件中可以編寫多個編譯模塊。?

?

include $(call first-makefiles-under,$(LOCAL_PATH)) #在項目根目錄下查找所有的mk文件,不包括當前目錄

?

LOCAL_STATIC_LIBRARIES := 所需要的靜態庫

LOCAL_SHARED_LIBRARIES := 所需的動態庫

LOCAL_C_INCLUDES := 頭文件所在的路徑

LOCAL_MODULE_TAGS := user(user,eng,tests,optional)  #user,表示該模塊只在user版本下進行編譯;optional,表示該模塊可以在所有版本下進行編譯。

                               #其中,user表示用戶版本,eng(engineering)表示工程版本,tests表示測試版本

LOCAL_CFLAGS += -fno-access-control  獲取訪問私有的權限

          -wno-unused-parameter  取消函數參數未使用的警告

轉載于:https://www.cnblogs.com/chen-cai/p/9355612.html

總結

以上是生活随笔為你收集整理的Android.mk文件编写的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。