NGI Assure project: Probabilistic NAT Traversal

Implementation details milestone 6

See revision c216174, 571f33d, f99b713

A new repository was created for porting the library to Android.

This repository contains an Android app, as a feasibility study. The app is based on a code example for the integration of native C code in Android Studio. The main starting points for the integration of the GNUnet utility library are the files CMakeLists.txt for all the dependencies the use of the GNUnet utility library entails, and native-lib.ccp where we call functions of the GNUnet utility library.

With this milestone, we wanted to ensure that we could achieve file and network access via the GNUnet utility library. The file access was simply tested with the call of GNUNET_DISK_mktemp("test"), which created a directoy . A very simple server was implemented in the run function of native-lib.ccp.

The biggest effort to make these few lines of code work was to solve the problems with cross-compiling dependencies. This effort has been documented in this repository. One can find these cross compiled dependencies in the directory distribution in the android studio project.

The original plan to run the GNUnet test framework on an Android emulator could not be realized because the Android prototype app could not be made to run on an emulator. Therefore, we did not even try to run the test framework additionally. Tests were made manually on real Android devices.