Иногда у разработчиков 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. В первом будут храниться настройки сборки, его содержание должно быть таким:
Всё! Осталось собрать и запустить Android-приложение из Eclipse, как если бы оно было обычным Java-приложением=)
Итак:
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-приложением=)
Комментариев нет:
Отправить комментарий