diff --git a/TangoRosStreamer/app/src/main/java/eu/intermodalics/tango_ros_streamer/RunningActivity.java b/TangoRosStreamer/app/src/main/java/eu/intermodalics/tango_ros_streamer/RunningActivity.java index 43d065c..57ad178 100644 --- a/TangoRosStreamer/app/src/main/java/eu/intermodalics/tango_ros_streamer/RunningActivity.java +++ b/TangoRosStreamer/app/src/main/java/eu/intermodalics/tango_ros_streamer/RunningActivity.java @@ -319,7 +319,9 @@ protected void init(NodeMainExecutor nodeMainExecutor) { // Create and start Tango ROS Node nodeConfiguration.setNodeName(TangoRosNode.NODE_NAME); if (TangoInitializationHelper.loadTangoSharedLibrary() != - TangoInitializationHelper.ARCH_ERROR) { + TangoInitializationHelper.ARCH_ERROR && + TangoInitializationHelper.loadTangoRosNodeSharedLibrary() + != TangoInitializationHelper.ARCH_ERROR) { mTangoRosNode = new TangoRosNode(); mTangoRosNode.attachCallbackListener(this); TangoInitializationHelper.bindTangoService(this, mTangoServiceConnection); diff --git a/TangoRosStreamer/tango_ros_node/src/main/java/eu/intermodalics/tango_ros_node/TangoInitializationHelper.java b/TangoRosStreamer/tango_ros_node/src/main/java/eu/intermodalics/tango_ros_node/TangoInitializationHelper.java index 9368ee0..27d7b2e 100644 --- a/TangoRosStreamer/tango_ros_node/src/main/java/eu/intermodalics/tango_ros_node/TangoInitializationHelper.java +++ b/TangoRosStreamer/tango_ros_node/src/main/java/eu/intermodalics/tango_ros_node/TangoInitializationHelper.java @@ -42,20 +42,6 @@ public class TangoInitializationHelper { protected static boolean mIsTangoServiceBound; protected static boolean mIsTangoVersionOk; - /** - * {@link TangoInitializationHelper} depends on the same library as {@link TangoRosNode}. - * This code is added to ensure that the native functions will be properly linked; - * loading the same library twice has no side effects. - */ - static { - try { - System.loadLibrary(TangoRosNode.DEFAULT_LIB_NAME); - } catch (Exception e) { - Log.e(TangoInitializationHelper.class.getName(), - "Error loading library " + TangoRosNode.DEFAULT_LIB_NAME, e); - } - } - /** * Binds to the tango service. * @@ -185,6 +171,23 @@ public static final int loadTangoSharedLibrary() { return loadedSoId; } + /** + * {@link TangoInitializationHelper} depends on the same library as {@link TangoRosNode}. + * This code is added to ensure that the native functions will be properly linked; + * loading the same library twice has no side effects. + */ + public static final int loadTangoRosNodeSharedLibrary() { + int loadedSo = ARCH_ERROR; + try { + System.loadLibrary(TangoRosNode.DEFAULT_LIB_NAME); + loadedSo = ARCH_DEFAULT; + } catch (Exception e) { + Log.e(TangoInitializationHelper.class.getName(), + "Error loading library " + TangoRosNode.DEFAULT_LIB_NAME, e); + } + return loadedSo; + } + /** * Creates a DefaultTangoServiceConnection with no callback. * @return New ServiceConnection handler that can be used with {@link #bindTangoService}