您的位置:首页 > 移动开发 > Android开发

Android.mk编译APK范例

2016-04-26 23:04 417 查看
一、编译一个简单的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(动态库)的第三方apk 

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) 

注:LOCAL_JAVA_LIBRARIES表示生成的java库的jar文件名。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: