Projenin altındaki jni klasörü içine .c, .h ve aşağıdaki kodun yazılı olduğu Android.mk uzantılı dosya atılmalıdır. Aşağıdaki kod parçası projede native-audio-jni.c dosyasındaki metodların kullanmasını imkan sunar.
Android.mk dosyası c kodları için
LOCAL_MODULE değişkeni Java classı içinde System.LoadLibrary(“modul_ismi”) modul ismi yazan yere verilen isimdir.
LOCAL_SRC_FILES değişkeni ise kullanacağımız c veya c++ kodlarının bulunduğu dosyanın tam adıdır.
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := native-audio-jni
LOCAL_SRC_FILES := native-audio-jni.c
# for native audio
LOCAL_LDLIBS += -lOpenSLES
# for logging
LOCAL_LDLIBS += -llog
# for native asset manager
LOCAL_LDLIBS += -landroid
include $(BUILD_SHARED_LIBRARY)
Android.mk dosyası c++ kodları için
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libgl2jni
LOCAL_CFLAGS := -Werror
LOCAL_SRC_FILES := gl_code.cpp
LOCAL_LDLIBS := -llog -lGLESv2
include $(BUILD_SHARED_LIBRARY)
projede bulunan jni klasörünün altında modul dosyaları ayrı ayrı klasörler içinde ise bunun için kullanılacak olan
Android.mk dosyası
include $(call all-subdir-makefiles)
Application.mk dosyası
APP_MODULES değişkenin değerleri projedeki modul dosyaların bulunduğu alt klasörlerin adıdır. Her bir klasör altında Android.mk dosyası olmalıdır.
APP_ABI := armeabi
APP_CFLAGS := -DHAVE_CONFIG_H -DTHREADMODEL=POSIXTHREADS -DDEBUGLVL=0 -D__ANDROID__
APP_CFLAGS += -O3
APP_MODULES := jpeg libdjvu mupdf ebookdroid hqx