Antes de hoy uso Eclipse 3.8 con Sequoyah plugin para Android NDK project. Pero hoy decido refrescar Eclipse a la versión de Juno con SDK y NDK.
Estaba muy contento de ver Android Native Tools en la instalación de ADT, que hará el mismo trabajo como Sequoyah, pero con la función de depuración.
Creé un nuevo Android Project para probarlo.
Añadiendo Android Native Support cree una carpeta jni con Android.mk, archivo .cpp, bien lo mismo que Sequayah. Entonces me sale primero sin resolver a jni.h. Recibo un error similar con Sequoyah, por lo que reconstruyo el índice y reinicio Eclipse. Después de reiniciar, no desapareció.
Voy a Trayectorias y símbolos en propiedades C/C++. Pero hay todo lo que se necesita incluir.
(NDK PATH)/plataformas/android-8/arch-brazo/usr/include - hay jni.h, etc. log.h
He probado a añadir dublicate adicional incluye a jni.h, proyecto de limpieza , reiniciar, reconstruir índice, cambiar .ccp a .c, permanece sin resolver. No obtuve errores en el registro de errores, pero sí errores de sintaxis en el editor de las funciones de jni.Android Añadir soporte nativo - jni.h no resuelto, android/log.h etc.
NativeLib.java
package com.aristarhys.glow;
public class NativeLib
{
private static final String NATIVE_LIB = "glow";
static
{
System.loadLibrary(NATIVE_LIB);
}
private NativeLib(){};
public static native void test();
}
glow.h
#ifndef GLOW_H_
#define GLOW_H_
#include <jni.h> //unresolved
//syntax error
JNIEXPORT void JNICALL Java_com_aristarhys_glow_NativeLib_test(JNIEnv* env, jclass cls);
#endif /* GLOW_H_ */
log.h
#ifndef LOG_H_
#define LOG_H_
#include <android/log.h> //unresolved
#define INFO_TAG "[INFO]"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, INFO_TAG, __VA_ARGS__)
#endif /* LOG_H_ */
glow.c
#include "glow.h"
#include "log.h"
//syntax error
JNIEXPORT void JNICALL Java_com_aristarhys_glow_NativeLib_test(JNIEnv* env, jclass cls)
{
LOGI("HI");
}
Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := glow
LOCAL_SRC_FILES := glow.c
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
Problema conocido de Eclipse. No evita que compile. –
prueba con este mensaje: [Resuelta NDK] [1] [1]: http://stackoverflow.com/questions/11504258/how-to-remove-native-support-from-an -android-project-in-eclipse-because-eclipse/28313132 # 28313132 –