Android.mk编译APK范例
以下仅是使用Android.mk编译APK程序的一些范例。如果你想了解Android.mk的更多内容请参考《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)?注:LOCAL_STATIC_JAVA_LIBRARIES?后面应是你的APK程序所需要的JAVA库的JAR文件名。三、编译一个需要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)?注:LOCAL_CERTIFICATE 后面应该是签名文件的文件名四、编译一个需要特殊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)?六、装载需要.so(动态库)的第三方apkLOCAL_PATH := $(my-dir)include $(CLEAR_VARS)LOCAL_MODULE := baiduinput_android_v1.1_1000eLOCAL_SRC_FILES := $(LOCAL_MODULE).apkLOCAL_MODULE_CLASS := APPSLOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)LOCAL_CERTIFICATE := platforminclude $(BUILD_PREBUILT)?######################################################################## copy the library to /system/lib ##########################################################################################include $(CLEAR_VARS)LOCAL_MODULE := libinputcore.soLOCAL_MODULE_CLASS := SHARED_LIBRARIESLOCAL_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)注:LOCAL_JAVA_LIBRARIES表示生成的java库的jar文件名。