- 注册时间
- 2013-4-19
- 最后登录
- 2024-9-26
- 阅读权限
- 200
- 积分
- 6404
- 精华
- 0
- 帖子
- 640
|
=====================jni 中========================
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE :=avcodec-57-prebuilt
LOCAL_SRC_FILES :=prebuilt/libavcodec-57.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE :=avfilter-6-prebuilt
LOCAL_SRC_FILES :=prebuilt/libavfilter-6.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE :=avformat-57-prebuilt
LOCAL_SRC_FILES :=prebuilt/libavformat-57.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := avutil-55-prebuilt
LOCAL_SRC_FILES :=prebuilt/libavutil-55.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := avswresample-2-prebuilt
LOCAL_SRC_FILES :=prebuilt/libswresample-2.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := swscale-4-prebuilt
LOCAL_SRC_FILES :=prebuilt/libswscale-4.so
include $(PREBUILT_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.c
LOCAL_LDLIBS := -llog
LOCAL_SHARED_LIBRARIES:= avcodec-57-prebuilt avfilter-6-prebuilt avformat-57-prebuilt avutil-55-prebuilt swscale-4-prebuilt avswresample-2-prebuilt
include $(BUILD_SHARED_LIBRARY)
=========================makefile 中================================
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libFTDictSync
LOCAL_SRC_FILES := libFTDictSync.so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := libFTHWEngine
LOCAL_SRC_FILES := libFTHWEngine.so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := libFTInputCloud
LOCAL_SRC_FILES := libFTInputCloud.so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := libFTInputEngine
LOCAL_SRC_FILES := libFTInputEngine.so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := libqihoospeech
LOCAL_SRC_FILES := libqihoospeech.so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := libvxproto-1.0.1
LOCAL_SRC_FILES := libvxproto-1.0.1.so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := PalmInput
LOCAL_SRC_FILES := PalmInput_1.9.0.736_2004.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_SHARED_LIBRARIES := \
libFTDictSync \
libFTHWEngine \
libFTInputCloud \
libFTInputEngine \
libqihoospeech \
libvxproto-1.0.1
include $(BUILD_PREBUILT)
!!!!!!!!!!!!!!!!!注意是64 还是32的!!!!!!!!!
可以参考 Bluetooth的Android.mk文件 这里面就是只有32位的
或者参考http://www.2cto.com/kf/201506/408335.html
# Copyright 2007-2008 The Android Open Source Project
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := Msc:libs/Msc.jar
LOCAL_PREBUILT_LIBS := libmsc:/libs/armeabi/libmsc.so
include $(BUILD_MULTI_PREBUILT)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src) \
$(call all-java-files-under, wearableSDK)
LOCAL_SRC_FILES += \
src/com/mediatek/wearable/ipc/IControllerCallback.aidl \
src/com/mediatek/wearable/ipc/IControllerInterface.aidl
LOCAL_PACKAGE_NAME := AppManager
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_JAVA_LIBRARIES := wearableD Msc
LOCAL_SHARED_LIBRARIES := libmsc
LOCAL_PROGUARD_ENABLED := disabled
include $(BUILD_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))
=======================上面都是把so独立出来,下面是打包到apk中=============
core/package.mk 会调用
core/package_internal.mk 根据jni_shared_libraries 变量确认是否打包到apk
$(LOCAL_BUILT_MODULE): $(all_res_assets) $(jni_shared_libraries) $(full_android_manifest)
@echo "target Package: $(PRIVATE_MODULE) ($@)"
$(create-empty-package)
$(add-assets-to-package)
ifneq ($(jni_shared_libraries),)
$(add-jni-shared-libs-to-package)
jni_shared_libraries 这个变量 在core/install_jni_libs.mk
include $(BUILD_SYSTEM)/install_jni_libs_internal.mk
jni_shared_libraries += $(my_jni_shared_libraries)
jni_shared_libraries_abis += $(my_jni_shared_libraries_abi)
jni_shared_libraries_with_abis += $(addprefix $(my_jni_shared_libraries_abi):,\
$(my_jni_shared_libraries))
extracted_jni_libs += $(my_extracted_jni_libs)
core/install_jni_libs_internal.mk 中 my_embed_jni 如果这个没有这个变量就会清空my_jni_shared_libraries
!!!!!!!!!android系统编译的bug 这个判断是错误的,应该用 ifneq!!!!!!!!!!!!!!
ifeq ($(filter $(TARGET_OUT)/% $(TARGET_OUT_VENDOR)/% $(TARGET_OUT_OEM)/%, $(my_module_path)),)
# If this app isn't to be installed to system partitions.
my_embed_jni := true
endif
development/samples/SimpleJNI 可以用这个apk来调试 这个BUG
============打包so到apk中,需要修改上面build的判断=======
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := SnTool
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_TAGS := optional
LOCAL_JNI_SHARED_LIBRARIES := libSn
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/operator/app
LOCAL_PROGUARD_ENABLED := disabled
include $(BUILD_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))
|
|