Android.mk积累

来源:互联网 发布:农村淘宝网app下载 编辑:程序博客网 时间:2024/05/20 05:04

已经编译生成apk或so或bin的集成

带so的apk

目录结构为

---Android.mk
---SeuicService.apk
---armeabi-v7a
|---libctp_jni.so
|---libkeypad_jni.so
---arm64-v8a
|---libctp_jni.so
|---libkeypad_jni.so


LOCAL_PATH := $(call my-dir) #====== so lab ===== include $(CLEAR_VARS) LOCAL_PREBUILT_LIBS := armeabi-v7a/libctp_jni.so LOCAL_MULTILIB := 32 LOCAL_MODULE_TAGS := optional include $(BUILD_MULTI_PREBUILT) include $(CLEAR_VARS) LOCAL_PREBUILT_LIBS := armeabi-v7a/libkeypad_jni.so LOCAL_MULTILIB := 32 LOCAL_MODULE_TAGS := optional include $(BUILD_MULTI_PREBUILT) include $(CLEAR_VARS) LOCAL_PREBUILT_LIBS := arm64-v8a/libctp_jni.so LOCAL_MULTILIB := 64 LOCAL_MODULE_TAGS := optional include $(BUILD_MULTI_PREBUILT) include $(CLEAR_VARS) LOCAL_PREBUILT_LIBS := arm64-v8a/libkeypad_jni.so LOCAL_MULTILIB := 64 LOCAL_MODULE_TAGS := optional include $(BUILD_MULTI_PREBUILT) # ==== app ======================== include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_MODULE := SeuicService LOCAL_MODULE_CLASS := APPS LOCAL_CERTIFICATE := PRESIGNED #预签名过了,不需在签名了 LOCAL_MODULE_PATH := $(TARGET_OUT)/app LOCAL_REQUIRED_MODULES := \ #本模块加入系统,我需要的依赖模块也必须加入 libkeypad_jni \ libctp_jni
#android 5.0之后可以用这个
#LOCAL_PREBUILT_JNI_LIBS LOCAL_SRC_FILES := SeuicService.apk 

 导入依赖第三方jar静态编译

zxing-1.6-core.jar放在apk源码目录的libs目录下
LOCAL_PATH :=$(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional #LOCAL_JAVA_LIBRARIES := ScannerAPI telephony-common telephony-msim LOCAL_STATIC_JAVA_LIBRARIES :=zxing android-support-v4 android-support-v13 LOCAL_SRC_FILES :=$(call all-java-files-under, src) LOCAL_PACKAGE_NAME := SetInput2 LOCAL_CERTIFICATE := platform #签名为platform include $(BUILD_PACKAGE) include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :=zxing:libs/zxing-1.6-core.jar include $(BUILD_MULTI_PREBUILT) 

可执行程序bin

比如我们想内置某些已编译好的busybox工具

LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := busybox #起个名字LOCAL_MODULE_TAGS := optional #编译选项,各个版本都编译LOCAL_MODULE_CLASS := EXECUTABLES #LOCAL_MODULE_CLASS用于制定LOCAL_MODULE_PATH的路径所在。LOCAL_SRC_FILES := busybox #源码文件为已经编译好的busyboxLOCAL_MODULE_PATH := $(PRODUCT_OUT)/system/xbin #输出目录include $(BUILD_PREBUILT) #用PREBUILT

提供源码放在系统中编译集成

编译C文件为可执行文件的Android.mk编写

LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optionalLOCAL_MODULE_PATH := $(TARGET_OUT)/binLOCAL_SRC_FILES:=mem_test.cLOCAL_SHARED_LIBRARIES := libcutils libcLOCAL_MODULE :=mem_testinclude $(BUILD_EXECUTABLE)









0 0
原创粉丝点击