Click here to Skip to main content
11,496,146 members (366 online)
The site is currently in read-only mode for maintenance. Posting of new items will be available again shortly.
See more: JNI Android makefile
i have created an android application,here most of my code is in c so i have created it using jni. i have to create socket.so file, in which i have to use the libtest.so.

while using the libtest.so in socket.so i get the error:undefined reference to function(). my function() is present inside the libtest.so. so to avid this by suggestion i have created my Android.mk as below:

LOCAL_PATH := $(call my-dir)
 
include $(CLEAR_VARS)
LOCAL_MODULE := libtest
LOCAL_SRC_FILES := libtest.so
include $(PREBUILT_SHARED_LIBRARY)
 
include $(CLEAR_VARS)
LOCAL_MODULE := socket
LOCAL_SHARED_LIBRARIES += libtest
LOCAL_SRC_FILES := source/interface.c source/file.c
LOCAL_LDFLAGS += libtest.a  
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../libtest/jni/include
include $(BUILD_SHARED_LIBRARY)
but it requires both the libtest.so & libtest.a file to be present. where as if i am using only the libtest.a it works perfectly fine.

since my requirement is to create libtest.so and include it in socket.so can any one please tell me how to avoid dependency of .a file to create .so file.

if i will comment LOCAL_LDFLAGS += libtest.a then i am getting the error:undefined reference to function()

any one plz help me to get out of this problem.......
Posted 2-Aug-12 20:22pm

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 10,401
1 OriginalGriff 8,910
2 Sascha Lefèvre 3,899
3 Maciej Los 3,422
4 Richard Deeming 2,600


Advertise | Privacy | Mobile
Web04 | 2.8.150520.1 | Last Updated 3 Aug 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100