如何寫Android.mk

編譯一個簡單的APK 

  LOCAL_PATH := $(call my-dir)

  include $(CLEAR_VARS)

   

  # Build all java files in the java subdirectory

  LOCAL_SRC_FILES := $(call all-subdir-java-files)

   

  # Name of the APK to build

  LOCAL_PACKAGE_NAME := LocalPackage

   

  # Tell it to build an APK

  include $(BUILD_PACKAGE)

 

編譯一個依賴靜態.jar文件的APK 

  LOCAL_PATH := $(call my-dir)

  include $(CLEAR_VARS)

   

  # List of static libraries to include in the package

  LOCAL_STATIC_JAVA_LIBRARIES := static-library

   

  # Build all java files in the java subdirectory

  LOCAL_SRC_FILES := $(call all-subdir-java-files)

   

  # Name of the APK to build

  LOCAL_PACKAGE_NAME := LocalPackage

   

  # Tell it to build an APK

  include $(BUILD_PACKAGE)

 

編譯一個需要platform key簽名的APK 

  LOCAL_PATH := $(call my-dir)

  include $(CLEAR_VARS)

   

  # Build all java files in the java subdirectory

  LOCAL_SRC_FILES := $(call all-subdir-java-files)

   

  # Name of the APK to build

  LOCAL_PACKAGE_NAME := LocalPackage

   

  LOCAL_CERTIFICATE := platform

   

  # Tell it to build an APK

  include $(BUILD_PACKAGE)

 

編譯一個需要特殊vendor key簽名的APK 

  LOCAL_PATH := $(call my-dir)

  include $(CLEAR_VARS)

   

  # Build all java files in the java subdirectory

  LOCAL_SRC_FILES := $(call all-subdir-java-files)

   

  # Name of the APK to build

  LOCAL_PACKAGE_NAME := LocalPackage

   

  LOCAL_CERTIFICATE := vendor/example/certs/app

   

  # Tell it to build an APK

  include $(BUILD_PACKAGE)

 

添加一個第三方APK

  LOCAL_PATH := $(call my-dir)

  include $(CLEAR_VARS)

   

  # Module name should match apk name to be installed.

  LOCAL_MODULE := LocalModuleName

  LOCAL_SRC_FILES := $(LOCAL_MODULE).apk

  LOCAL_MODULE_CLASS := APPS

  LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)

 

  LOCAL_CERTIFICATE := platform

 

  include $(BUILD_PREBUILT)

 

 

第三方APK針對需要.soapk的示例如下:

LOCAL_PATH := $(my-dir)

include $(CLEAR_VARS)

 

LOCAL_MODULE := baiduinput_android_v1.1_1000e

LOCAL_SRC_FILES := $(LOCAL_MODULE).apk

 

LOCAL_MODULE_CLASS := APPS

LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)

 

LOCAL_CERTIFICATE := platform

 

 

include $(BUILD_PREBUILT)

 

#################################################################

####### copy the library to /system/lib #########################

#################################################################

include $(CLEAR_VARS)

 

LOCAL_MODULE := libinputcore.so

 

LOCAL_MODULE_CLASS := SHARED_LIBRARIES

 

LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)

LOCAL_SRC_FILES := lib/$(LOCAL_MODULE)

OVERRIDE_BUILD_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)

 

 

include $(BUILD_PREBUILT)

 

 

添加靜態java 

  LOCAL_PATH := $(call my-dir)

  include $(CLEAR_VARS)

   

  # Build all java files in the java subdirectory

  LOCAL_SRC_FILES := $(call all-subdir-java-files)

   

  # Any libraries that this library depends on

  LOCAL_JAVA_LIBRARIES := android.test.runner

   

  # The name of the jar file to create

  LOCAL_MODULE := sample

   

  # Build a static jar file.

  include $(BUILD_STATIC_JAVA_LIBRARY)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章