Android.mk檔案的文法解析

來源:互聯網
上載者:User

標籤:android   android.mk   local_module_tags   

這是RDA8810(Android4.2.2)的Browser模組的Android.mk檔案

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_STATIC_JAVA_LIBRARIES := \

             android-common \

             guava \

             android-support-v13 \

             android-support-v4 \

LOCAL_SRC_FILES := \

             $(call all-java-files-under,src) \

             src/com/android/browser/EventLogTags.logtags

LOCAL_PACKAGE_NAME := Browser

LOCAL_PROGUARD_FLAG_FILES := proguard.flags

LOCAL_EMMA_COVERAGE_FILTER := *,-com.android.common.*

# We need the sound recorder for the Media Capture API.

LOCAL_REQUIRED_MODULES := SoundRecorder

include $(BUILD_PACKAGE)

# additionally, build tests in sub-folders in a separate .apk

include $(call all-makefiles-under,$(LOCAL_PATH))


第一行、LOCAL_PATH:

        這個變數用於給出當前檔案的路徑,你必須在Android.mk檔案的開頭定義,這個變數不會被$(CLEAR_VARS)清除,因此每個Android.mk只需要定義一次(即使你在一個檔案中定義了幾個模組的情況下);

第二行、include $(CLEAR_VARS)

        CLEAR_VARS由編譯系統提供,指定讓GNU_MAKEFILE為你清除許多LOCAL_XXX變數,除LOCAL_PATH外,這介必要的,因為所有的編譯控制都在同一個GNU MAKE執行環境中,所有變數都是全域的;

第三行、LOCAL_MODULE_TAGS 

        這個變數有四個選項可以選擇:

         1、user:指該模組只在user版本下才編譯;

         2、eng:指該模組只在eng版本下才編譯;

         3、tests:指該模組只在tests版本下才編譯;

         4、optional:指該模組在所有版本下都編譯。

第四行、LOCAL_STATIC_JAVA_LIBRARIES

        取 .jar庫的別名,可以隨便取的

第五行、LOCAL_SRC_FILES

       列舉所有需要編譯的源檔案,宏all-java-files-under定義在build/core/definitions.mk中

第六行、LOCAL_PACKAGE_NAME 

       表示這個包的名字,一般和檔案夾的名字一致

第七行、LOCAL_PROGUARD_FLAG_FILES 

        混淆代碼相關的配置

第八行、LOCAL_EMMA_COVERAGE_FILTER

        這個暫時沒能理解,如果有理解了的幫忙解答一下

第九行、LOCAL_REQUIRED_MODULES 

        配置錄音方面的介面

第十行、include $(BUILD_PACKAGE)

      表示當前JAVA代碼build成APK

第十一行、include $(call all-makefiles-under,$(LOCAL_PATH))

      表示需要build該目錄下的子目錄的檔案,這樣編譯系統就會在目前的目錄下的子目錄尋找Android.mk來編譯so等其它程式

OVER

Android.mk檔案的文法解析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.