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


Yazar : Emrah Kahraman

Bilgisayar Mühendisi

Android NDK ile Proje Android.mk Dosya Tanımlanması Yazısı için Yorum Yapabilirsiniz

Sponsor
Alexa
Hakkımda
Bağlantılar