Changes for 64-bit Android

Starting at Trimble Access v21.20, Android 64-bit support is available and all Trimble Android devices, excluding the TCU5, will be running a 64-bit build, which means Scapi plugins must also be built as 64-bit to remain compatible. The affected devices include the TDC600 and TSC5. 

Building a 64-bit version should not require any code changes; a new set of Visual Studio props files can be found in the SDK which support both 32 and 64-bit builds. We tidied up the property (.props) files, and some adjustments will be required to the plugin's project (vcxproj) file.

The change involves adding a 64-bit configuration to the existing 32-bit project.

Probably the easiest way to upgrade your vcxproj is to create a hello world project using the supplied Visual Studio 64-bit Android project template from the 21.20 version of the SDK, then use a code comparison app to look at the differences between the generated vcxproj and your existing plugin's vcxproj file. The required changes should be obvious and can merged into your plugin's project by hand using a merge tool.

Pay attention to the zip file naming in the post-build event; the $(Platform) macro needs to be present to ensure the 64-bit build gets ARM64 in the name.

You must also copy the following new/updated props files from the Hello World project's /PropertySheets/ directory into your plugin project's PropertySheets directory (or wherever you keep them):

Android.props

AndroidEnv.props

cpp.Android.props

Qt_Android.props

ScapiPlugin_Android.props

StlLibraryARM64Path.props

With the project and property sheets updated, you should be able to build both 32 and 64-bit versions. Both need to be built if you require support for all Trimble Android devices. The output from the builds will be two zip files, one of which must have ARM64 somewhere in the filename which identifies it as the 64-bit version and it will be treated as such when uploaded to Trimble for deployment to customers. Both 32 and 64-bit zips need to be be uploaded.

The installation process remains unchanged and users will get the correct version (32 or 64-bit) according to their hardware. For testing, copying the 32-bit zip to a TCU5 is the same as before, but for TSC5 and TDC600 the ARM64 zip file must be placed in the following directory:

<android device>/Trimble Data/System Files/plugins_64/

The old .../Trimble Data/System Files/plugins/ directory is for 32 bit builds and can be removed from devices other than the TCU5, although its presence has no effect.