Multi-Architecture Project Setup


To build an APK containing the shared libraries for multiple processor ABI's you will need to make the following changes to the project’s configuration:

  1. Make sure that the application project is referencing the required projects. Explore the content of the Project References node in Solution Explorer.

  2. If needed, add a project reference using the Project References dialog.

  3. Set the checkbox to reference another project from the same solution.

  4. For the application project, and all projects that are referenced by it, add the following MSBuild platforms.
    1. ABI-specific platforms — add one for each ABI that you need to build shared libraries for (e.g., AArch64-Android-NVIDIA).
    2. Tegra-Android platform — this should be configured to package the shared libraries built by the ABI-specific platforms.
  5. Open the Configuration Manager dialog.

  6. Check the solution's platforms.

  7. Check the individual project's platforms.

  8. If needed, add a new platform to the solution.

  9. Next, configure the packaging Tegra-Android platform for all projects. Open the Project Properties dialog for a project and select the General configuration page.

    Set the value of the Target Architecture project property to Multiple.

    Set the value of the Platforms to Package project property to semicolon-separated list of ABI-specific platform prefixes. These ABIs end with -Android-NVIDIA.

    The same procedure should be followed for shared library projects as application projects; otherwise, not having the Tegra-Android platform set as Multiple, will result in an extra unnecessary build of your shared library.

  10. Finally, if you choose to only have the multi-architecture APKs (i.e., Tegra-Android) instead of additionally building platform-specific APKs, then you should ensure that the APK creation steps for the other ABIs are disabled. Depending on which Android Build System you selected on the General page, this can be found one of two ways: 

 


NVIDIA® GameWorks™ Documentation Rev. 1.0.200608 ©2014-2020. NVIDIA Corporation. All Rights Reserved.