суббота, 14 сентября 2013 г.

Просто об Android NDK

Иногда у разработчиков Android-приложений возникает необходимость писать часть кода не на Java, а на C\C++. Для этого нам помимо Android SDK понадобиться Android NDK (Native Development Kit).
Итак:

1.Скачиваем Android NDK. http://developer.android.com/tools/sdk/ndk/index.html
2.Распаковываем
3.В проект добавляем два новых файла - Android.mk и hello.c. В первом будут храниться настройки сборки, его содержание должно быть таким:
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := hello
LOCAL_SRC_FILES := hello.c


include $(BUILD_SHARED_LIBRARY)
А в файле hello.c:

#include
#include
jstring Java_com_example_hellojni_MainActivity_helloFromJNI( JNIEnv* env,
                                                  jobject thiz )
{
    return (env)->NewStringUTF("I am from C Language!");
}

В данном случае имя функции строится так: Java_<название пакета>_<имя класса откуда будет вызываться функция>_<имя функции>.
4.Теперь в нашем классе (например, MainActivity.java) пишем:
public native int helloFromJNI();

static {
System.loadLibrary("hello");
}
5. Затем собираем наш нативный код: 
cd <папка с проектом>
<путь к ndk>/ndk-build


Всё! Осталось собрать и запустить Android-приложение из Eclipse, как если бы оно было обычным Java-приложением=)

Комментариев нет:

Отправить комментарий