Search code examples
androidgoogle-project-tango

Google Tango C API, compilation of single APK for every device


I'm trying to prepare a single APK for my game for both Tango and non-Tango devices. (Tango-specific features will not be available on regular devices). I'm using C native API. Running the app on a non-tango device always throws an exception

java.lang.UnsatisfiedLinkError: dlopen failed: could not load library "libtango_support_api.so" needed by "libtroikaproject.so"; caused by could not load library "libcxsparse.so" needed by "libtango_support_api.so"; caused by library "libcxsparse.so" not found
  • Is it possible to link with Tango libraries so that the app could be launched on regular devices without error?

  • Is it possible to use "Multiple APK" mechanism to publish single app on Google Play for Tango and regular devices?


Solution

    • Is it possible to link with Tango libraries so that the app could be launched on regular devices without error?

    Yes, it is possible. The error is caused by how Tango links the library internally, and it is going to be fixed soon. As the temp fix, you could download the libcxsparse.so from their website and package it in to your APK's lib folder.

    • Is it possible to use "Multiple APK" mechanism to publish single app on Google Play for Tango and regular devices?

    Multiple APK is possible, but you will need to specify different build flavors in gradle. This is currently not there in the sample code.