Hi,
I'm currently trying to build a static library which contains everything required to make it run, in this case it's V8 static libraries. I've tried most of the stuff I could find but still, the final .a file does not contains the required V8 libs. V8's libs are about 20 megabytes and once built my library is 1.1 megabyte.
Here my Application.mk
APP_ABI := armeabi-v7a armeabi x86
APP_STL := stlport_shared
APP_PLATFORM := android-15
APP_MODULES := MetisCore v8_base v8_libbase v8_nosnapshot v8_libplatform
And here my Android.mk
LOCAL_PATH := $(call my-dir)
#---------------------------------------------------------------------------------------------------
# v8_libplatform
#---------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := v8_libplatform
ifeq ($(TARGET_ARCH_ABI), armeabi)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_arm.release/libv8_libplatform.a
endif
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_arm.release/libv8_libplatform.a
endif
ifeq ($(TARGET_ARCH_ABI), x86)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_ia32.release/libv8_libplatform.a
endif
include $(PREBUILT_STATIC_LIBRARY)
#---------------------------------------------------------------------------------------------------
# v8_libbase
#---------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := v8_libbase
ifeq ($(TARGET_ARCH_ABI), armeabi)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_arm.release/libv8_libbase.a
endif
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_arm.release/libv8_libbase.a
endif
ifeq ($(TARGET_ARCH_ABI), x86)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_ia32.release/libv8_libbase.a
endif
include $(PREBUILT_STATIC_LIBRARY)
#---------------------------------------------------------------------------------------------------
# libv8_base
#---------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := v8_base
ifeq ($(TARGET_ARCH_ABI), armeabi)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_arm.release/libv8_base.a
endif
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_arm.release/libv8_base.a
endif
ifeq ($(TARGET_ARCH_ABI), x86)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_ia32.release/libv8_base.a
endif
include $(PREBUILT_STATIC_LIBRARY)
#---------------------------------------------------------------------------------------------------
# libv8_nosnapshot
#---------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := v8_nosnapshot
ifeq ($(TARGET_ARCH_ABI), armeabi)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_arm.release/libv8_nosnapshot.a
endif
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_arm.release/libv8_nosnapshot.a
endif
ifeq ($(TARGET_ARCH_ABI), x86)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_ia32.release/libv8_nosnapshot.a
endif
include $(PREBUILT_STATIC_LIBRARY)
#---------------------------------------------------------------------------------------------------
# v8_snapshot
#---------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := v8_snapshot
ifeq ($(TARGET_ARCH_ABI), armeabi)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_arm.release/libv8_snapshot.a
endif
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_arm.release/libv8_snapshot.a
endif
ifeq ($(TARGET_ARCH_ABI), x86)
LOCAL_SRC_FILES := ../../../vendors/v8-3.29/libs/android_ia32.release/libv8_snapshot.a
endif
include $(PREBUILT_STATIC_LIBRARY)
#---------------------------------------------------------------------------------------------------
# MetisCore
#---------------------------------------------------------------------------------------------------
include $(CLEAR_VARS)
LOCAL_MODULE := MetisCore
LOCAL_SRC_FILES := \
MJScopeRef.cpp \
MJScopeRefPrivate.cpp \
MJHandleRef.cpp \
MJHandleRefPrivate.cpp \
MJDelegateRef.cpp \
MJDelegateRefPrivate.cpp \
$(wildcard $(LOCAL_PATH)/../../../vendors/v8-3.29/src/*.cpp)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../../vendors/v8-3.29/include
LOCAL_CFLAGS += -Wl, -lrt -pthread
LOCAL_WHOLE_STATIC_LIBRARIES := v8_base v8_libbase v8_nosnapshot v8_libplatform
include $(BUILD_STATIC_LIBRARY)
I had a lot of hope when reading about LOCAL_WHOLE_STATIC_LIBRARIES but I could not find a case where the whole thing was built as a static library.
Can anyone tell me what's going on, or show me a similar example that should be working ?
Any help is really appreciated!
Thanks