• Create Account

### #Actualfreakchild

Posted 22 May 2013 - 11:36 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.

### #5freakchild

Posted 22 May 2013 - 11:36 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.

nclude $(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.

### #4freakchild

Posted 22 May 2013 - 11:34 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.

nclude $(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 and as I recall this is very easy to do.  The google make files offer more than one way to boil the egg.

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.

### #3freakchild

Posted 22 May 2013 - 11:33 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)


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.

nclude $(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 and as I recall this is very easy to do.  The google make files offer more than one way to boil the egg.

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.

### #2freakchild

Posted 22 May 2013 - 11:32 AM

This is about a year old and I haven't used it in a while (so things may have changed) 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)


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.

nclude $(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 and as I recall this is very easy to do.  The google make files offer more than one way to boil the egg.

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.

### #1freakchild

Posted 22 May 2013 - 11:29 AM

This is about a year old and I haven't used it in a while (so things may have changed) 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)


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.

Before the above, this is what I used to do.

nclude $(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.

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 realize the google system worked well enough.  In the process they really messed up the clarity of how things worked though, hence why it's best to post the intact snippets and the commented parts.

PARTNERS