• Create Account

Banner advertising on our site currently available from just $5! # Prebuild of static library not executed. Old topic! Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic. 1 reply to this topic ### #1chris_01 Members - Reputation: 129 Like 0Likes Like Posted 22 May 2013 - 04:11 AM I've implemented a simple static test library foo and perform a successfully build of this library. Now I try to include this library as static prebuild to my simple shared bar library, based on android documentation. But this fails. My shared library is build successfully but my prebuild is not executed (finally not copied). Here ist my bar Android.mk file LOCAL_PATH := D:/binrev/repository/bar include$(CLEAR_VARS)

LOCAL_MODULE    := foo-prebuilt
LOCAL_SRC_FILES := external-deps/foo/lib/android/$(TARGET_ARCH_ABI)/libfoo.a include$(PREBUILT_STATIC_LIBRARY)

include $(CLEAR_VARS) LOCAL_MODULE := bar LOCAL_C_INCLUDES:= D:/binrev/repository/bar/include LOCAL_C_INCLUDES+= D:/binrev/repository/bar/external-deps/foo/include LOCAL_SRC_FILES := src/bar.cpp LOCAL_LDLIBS := -llog LOCAL_LDLIBS += -landroid LOCAL_SHARED_LIBRARIES := foo-prebuilt include$(BUILD_SHARED_LIBRARY)


And here is my Application.mk file:

APP_PROJECT_PATH := D:/binrev/repository/bar
APP_BUILD_SCRIPT := $(APP_PROJECT_PATH)/Android.mk APP_CPPFLAGS := -std=gnu++0x APP_CPPFLAGS += -frtti APP_CPPFLAGS += -fexceptions APP_CPPFLAGS += -DDEBUG APP_STL := gnustl_static APP_GNUSTL_CPP_FEATURES := rtti exceptions APP_OPTIM := debug APP_ABI := armeabi-v7a APP_PLATFORM:=android-10 APP_MODULES := bar  I use MinGW64 in hanshake with NDK 8re. I could exclude MinGW64 as possible source of defects, while this failure also occurs, if I perform the build using Windows command line. While the upload is blocked by our proxy you could download the test project here: http://sourceforge.net/projects/binrevengine/files/publications//bar.7z I checked my sources and scripts multiple times, but can't find any failure. I completly get lost and running out of ideas ... Thanks for any help. Sponsor: ### #2freakchild Members - Reputation: 557 Like 0Likes Like Posted 22 May 2013 - 11:29 AM This is about a year old and I haven't used it in a while (so the NDK may have changed to the point where this could be a little out of date) but this is how I built a shared library that also includes prebuilt static one. LOCAL_STATIC_LIBRARIES := nameofprebuiltstaticlibrary ... include$(BUILD_SHARED_LIBRARY)
...
$(call import-module,nameofprebuiltstaticlibrary)  But for some source includes (and some commented out lines which I'll cover below) these are the only locations in my Android.mk that specifically mention the library I'm trying to include. You look to include your pre-built static as a shared: LOCAL_SHARED_LIBRARIES := foo-prebuilt  ...and I'm not sure what the result of that would be but it looks a little dodgy given it's a static. Before the above, this is what I used to do. include$(CLEAR_VARS)
LOCAL_MODULE := library_pre
LOCAL_PATH := $(TARGET_OUT) LOCAL_PATH :=$(EORBRANCH_FS)/obj/prebuilt/$(TARGET_ARCH_ABI) LOCAL_MODULE_FILENAME := libprebuit LOCAL_SRC_FILES := libprebuilt.a include$(PREBUILT_STATIC_LIBRARY)

\$(call import-module,prebuilt) 

I list that because I note you have something similar too.  In my case, this is how it was and it is now commented out and I rely on the first code box above.  I mention it because for me to not be using this/this being my old method - you may be mixing two methods.  The google make files offer more than one way to cook the egg and as I recall mixing them is easy to do.

I would post my files but once upon a time another engineer hacked them up to customize.  Not sure exactly what they had in mind here because it was working well already and they eventually stopped trying as they realized the google system worked well enough.  In the process they really messed up the clarity on offer though (it was once much clearer from just looking at the file), hence why it's best for me to post the intact snippets and the commented parts.

Edited by freakchild, 22 May 2013 - 11:36 AM.

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

PARTNERS