Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • (转)如何写Android.mk

    post by onelong / 2011-12-6 15:46 Tuesday [android]

    本文转自http://buaadallas.blog.51cto.com/399160/406845,转载只是为自己做个笔记,更详细的可以打开网址阅读。

    编译一个简单的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)

    Android.mk的用法和基础 http://hi.baidu.com/wangruiqi2008/blog/item/4b26f6dd173f52f876c6383e.html

    引用地址:
     

    我要评论