Android.mk 分析

來源:互聯網
上載者:User

路徑:./frameworks/base/core/res/Android.mk  

# 特點:

# 1.支援應用程式編譯的資源能夠被其它應用使用

# 2.該APK具有系統許可權

# 3.能夠指定一個全域的依賴於LOCAL_BUILT_MODULE的中間目標


#把該Makefile所在的目錄設定為目前的目錄
LOCAL_PATH := $(call my-dir)
#清除編譯規則模板使用的變數的值。在./build/core/clear_vars.mk中定義
include $(CLEAR_VARS)
#不是標準的java庫
LOCAL_NO_STANDARD_LIBRARIES := true
#設定包名或者產生的apk的名稱
LOCAL_PACKAGE_NAME := framework-res
#為APK指定簽名具有系統許可權
#簽名有四種類型:testkey, platform, shared, media 預設為testkey
LOCAL_CERTIFICATE := platform
#告訴應用編譯的資源可以被其他應用程式使用
# Tell aapt to create "extending (non-application)" resource IDs,
# since these resources will be used by many apps.

LOCAL_AAPT_FLAGS := -x

#指定該模組的編譯版本為optional
#user: 指該模組只在user版本下才編譯
#eng: 指該模組只在eng版本下才編譯
#tests: 指該模組只在tests版本下才編譯
#optional:指該模組在所有版本下都編譯
LOCAL_MODULE_TAGS := optional
#指定模組安裝在系統的路徑
# Install this alongside the libraries.

LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES)

#允許app的資源被其它模組使用
#預設為null
# Create package-export.apk, which other packages can use to get
# PRODUCT-agnostic resource data like IDs and type definitions.
LOCAL_EXPORT_PACKAGE_RESOURCES := true

#執行BUILD_PACKAGE。開始編譯APK
#BUILD_PACKAGE定義在config.mk:
#BUILD_PACKAGE:= $(BUILD_SYSTEM)/package.mk
include $(BUILD_PACKAGE)
#定義一個全域的中間目標並且可能依賴於其他模組。
#.PHONY: 指定framework-res-package-target為偽目標
# define a global intermediate target that other module may depend on.
.PHONY: framework-res-package-target
framework-res-package-target: $(LOCAL_BUILT_MODULE)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.