Beruflich Dokumente
Kultur Dokumente
Inhaltsverzeichnis
Android Projekt erstellen......................................................................................................................1
Shared Libary Erstellen........................................................................................................................2
Konventionen.......................................................................................................................................2
Logging.................................................................................................................................................2
Integration im Eclipse mit dem ADT-Plugin.......................................................................................2
Beispiel für eine „Android.mk“-Datei .................................................................................................3
Konventionen
◦ Dateinamen der Shared Library beginnt mit libDateiname.so also z.B.:
◦ libhelloworld.so
◦ JNI-Header muss generiert sein, dafür im Projektverzeichnis folgendes Kommando
ausführen:
◦ javah -o Dateiname.h -classpath bin com.project.nativeActivity
◦ Source-Code (C/C++) der Shared Library muss diesen Header implementieren
Logging
◦ Header inkludieren
#include <android/log.h>
◦ Defines setzen um variable Anzahl von Parametern zum Logging zu unterstützen
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE,
"testserial",__VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG ,
"testserial",__VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO ,
"testserial",__VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN ,
"testserial",__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR ,
"testserial",__VA_ARGS__)
◦ In der Android.mk die Logging-Bibliothek zur Shared Library dazulinken
LOCAL_LDLIBS := -llog
include $(CLEAR_VARS)
LOCAL_SRC_FILES := helloworld.c
LOCAL_CFLAGS := -Wall
LOCAL_LDLIBS := -llog
LOCAL_MODULE := helloworld
include $(BUILD_SHARED_LIBRARY)