diff --git a/files/sample_app/jni/Android.mk.in b/files/sample_app/jni/Android.mk.in index b6f7ac9..1a8945b 100644 --- a/files/sample_app/jni/Android.mk.in +++ b/files/sample_app/jni/Android.mk.in @@ -8,6 +8,15 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_LDLIBS := -landroid LOCAL_STATIC_LIBRARIES := android_native_app_glue roscpp_android_ndk +### Please customize these values appropriately for your ROS ecosystem + +ROS_MASTER_URI ?= 192.168.1.100 # defaults to environment variable if defined +ROS_ANDROID_IP := 192.168.1.101 # MUST be device IP + +### End customization region + +LOCAL_CFLAGS := -DROS_MASTER_URI="__master:=$(ROS_MASTER_URI)" -DROS_ANDROID_IP="__ip:=$(ROS_ANDROID_IP)" + include $(BUILD_SHARED_LIBRARY) $(call import-module,android/native_app_glue) diff --git a/files/sample_app/jni/src/test.cpp b/files/sample_app/jni/src/test.cpp index 0431bf6..3c5397a 100644 --- a/files/sample_app/jni/src/test.cpp +++ b/files/sample_app/jni/src/test.cpp @@ -61,9 +61,15 @@ void android_main(android_app *papp) { app_dummy(); int argc = 3; - // TODO: don't hardcode ip addresses + // TODO: handle the master uri and device IP at runtime +#ifndef ROS_MASTER_URI +#error ROS_MASTER_URI MUST be set in files/sample_app/jni/Android.mk.in +#endif +#ifndef ROS_ANDROID_IP +#error ROS_ANDROID_IP MUST be set in files/sample_app/jni/Android.mk.in +#endif // %Tag(CONF_ARGS)% - char *argv[] = {"nothing_important" , "__master:=http://192.168.1.100:11311", "__ip:=192.168.1.101"}; + char *argv[] = {"nothing_important" , ROS_MASTER_URI, ROS_ANDROID_IP}; // %EndTag(CONF_ARGS)% //strcpy(argv[0], 'nothing_important'); //argv[1] = '__master:=http://10.52.90.103:11311';