How to include multiple c files to compile in android NDK?

By | April 28, 2012

I ran into problem when I had multiple C files in my project. Single C file was OK for me.
I was getting undefined reference error while doing this.
Then I found out the solution after a lot of search in google.

You can check this post before going through this post.
This is about setting up NDK in MAC.
Starting with NDK for Android – A Simple example. OR How to run a C code in android?

I have to make the change in the file to include other files to compile.

This is the content of my file

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE    := ndksetup
LOCAL_SRC_FILES := native.c test.c test_2.c

Here is my native.c code in which I am including those two files test.c and test2.c

#include <jni.h>
#include <string.h>
#include <android/log.h>

// my test file 
#include "test.h"
#include "test_2.h"

#define DEBUG_TAG "NDKSetupActivity"
void Java_com_ndksetup_NDKSetupActivity_printLog(JNIEnv * env, jobject this, jstring logString)
    jboolean isCopy;
    const char * szLogString = (*env)->GetStringUTFChars(env, logString, &isCopy);
    __android_log_print(ANDROID_LOG_DEBUG, "TAGGGGG", "NDK: %s", szLogString);
    (*env)->ReleaseStringUTFChars(env, logString, szLogString);
int Java_com_ndksetup_NDKSetupActivity_fibonacci(int value)
	int p = 8;
	return p;

Leave a Reply

Your email address will not be published. Required fields are marked *