This page provides details about enhancements in the 100.5.0 release of ArcGIS Runtime SDK for Android. It also lists this release's deprecations, resolved issues, and known issues. You can view release notes for past SDK versions by downloading past versions of this guide (in PDF format) from the downloads page (requires sign-in).
This section describes new features and improvements.
Maps and scenes
- Mobile scene packages are now supported in the ArcGIS Runtime allowing you to take scenes and their associated data offline. You can consolidate scenes and their data into a single *.mspk file using ArcGIS Pro 2.3 or higher and share the package with your ArcGIS organizational account or copy it directly to your mobile device.
- Maps can now be rendered with support for reference scale. Reference scale is the scale at which symbols and labels appear at their intended, true size. As you zoom in and out beyond the reference scale, symbols and text will increase or decrease in size relative to the reference scale to keep a consistent size on the map. If no reference scale is set, symbols remain a constant size on the screen and do not change size as you zoom in or out. Individual layers in a map can opt in or out of honoring the map's reference scale.
- Annotation layers are now supported for display in maps. Annotation allows you to precisely control the placement and layout of text and is often used as an alternative to labels which are more dynamic. Annotation layers can be included for offline use in mobile map packages created from ArcGIS Pro 2.3 or higher or accessed over the network through Feature Services from ArcGIS Enterprise 10.7 or higher.
- Group layers are now available. Group layers combine multiple layers that are often displayed and managed together and are often used to organize a set of related layers in a map or scene.
- Point Scene layers are now supported to provide fast visualization of large amounts of 3D point features from ArcGIS Scene Services, Mobile Scene Packages (.mspk file) or Scene layer packages (.slpk file). Point scene layers use automatic thinning to improve performance by not displaying all the features at greater distances, rather, as you zoom in, additional features are displayed until you reach the highest level of detail, when all features will be shown.
- Point Cloud layers are available to support the display of sensor data such as LiDAR from ArcGIS Scene Services, Mobile Scene Packages (.mspk file) or Scene layer packages (.slpk file).
- Displaying subsurface content is now supported in scenes allowing you navigate that camera below the terrain and explore the data underneath. You can change Surface.navigationConstraint property to allow navigating below ground or you can change the opacity of the surface to view subsurface content from above the ground.
ArcGIS Runtime now supports playing tours contained in a KML file. Tours are a great way to guide users through KML data and highlight important aspects through narration and animations. The following tour actions are supported -
- FlyTo - fly to a specified location using a bounce or a smooth flying mode
- Wait - wait the specified length of time before executing the next tour primitive
- AnimatedUpdate - update KML features. Any changes that lend themselves to interpolation (that is, that contain intermediate states, such as changes in size) are animated over the specified duration.
- SoundCue - play the specified sound file. Playing multiple sound files in parallel are supported.
Web Feature Service (WFS)
ArcGIS Runtime now supports OGC Web Feature Service, including versions 2.0.0 and 2.0.2. You can:
- Connect to a WFS service and discover the available datasets
- Query data from a WFS service and display in a 2D map or 3D scene
- Query and load non-spatial datasets
- Use XML to perform advanced queries on the server
At 100.5, Runtime does not support editing WFS, taking WFS offline, opening WFS from a portal item, or reading and writing WFS from web maps and scenes. Runtime does not support complex features (those with nested attributes), which may affect INSPIRE services. Some geometry types, including those with Z and those with M, are not supported. When loading a WFS feature table, fields with names that start with gdb_ will be ignored. When populating a WFS feature table from a service, the QueryParameters WhereClause is only supported on services that accept CQL_FILTER, which includes GeoServer.
- New Multi-layer SymbolsAPI offers more flexibility and control over how to construct and represent symbols. These symbols can be composed of a number of different symbol layers that are combined together along with geometric effects to achieve high cartographic quality. The API closely mirrors the definition of symbols in the Cartographic Information Model spec.
- Arcade expressions on renderers in a web map or mobile map are now honored in ArcGIS Runtime. Expressions can be used in place of raw field values on these renderers to support smart mapping styles such as Predominance, Relationships, etc. These expressions can be authored using ArcGIS Pro or the Map Viewer web application in ArcGIS Enterprise or ArcGIS Online.
- 3D Line symbols such as volumetric tubes are now supported when displaying feature layers containing polyline geometry in web scenes.
- You can now choose to use an existing basemap that is located on the device when taking a map offline. This feature, called by reference basemap, removes the overhead of downloading a basemap for every map and is available for both the on-demand and preplanned offline workflows. The path to the basemap can be an absolute path or a path relative to the mobile map package.
- Image and vector tiles can now be downloaded from ArcGIS Online services using a polygon as the area of interest. This gives you greater precision to request only the tiles you need to support your operational data. This polygon support is available through ExportTileCacheTask, ExportVectorTilesTask and OfflineMapTask. ArcGIS Enterprise services already supported polygonal areas of interest with prior versions of Runtime.
- The new Compact Cache V2 format of tile packages (*.tpkx file) available with ArcGIS Pro 2.3 is now supported in the ArcGIS Runtime. This format is based on an open specification and is optimized for fast access and improved performance. You can use the existing ArcGISTiledLayer and TileCache APIs to support the new format. See Take a layer offline for more information on tile packages.
- The ExportTileCacheTask and OfflineMapTask now support exporting tiles from an Image Service to support offline usage.
- Time-based expiration of mobile map packages and mobile scene packages is now supported in ArcGIS Runtime. An author can choose either a hard expiration where the package is not usable after the expiry date, or a soft expiration where a warning message my be displayed to the user but the package is still usable after the expiry date. Packages with such expiration constraints can be created using an upcoming version of ArcGIS Pro.
The next generation locator format (.loc file with associated .loz data) available in ArcGIS Pro 2.3 is now supported in runtime. It offers better result matching, faster offline performance and a more compact file storage. All capabilities available with the previous format such as finding addresses, locations, and suggestions are supported with the new format using the same LocatorTask API.
Coordinate systems, projections, and transforms
- Coordinate systems—The projected coordinate systems for Las Vegas, Pima County, Serbia, and Saudi Arabia were added.
- Projections—The Equal Earth and Peirce Quincuncial projections were added.
- Transformations for Slovenia, Saudi Arabia, Georgia (country), St. Pierre and Miquelon, Switzerland, and 19 others were added.
- File-based geographic/datum transformations were added for Belgium and Switzerland. These files are part of the projection engine .zip file that can be downloaded at https://developers.arcgis.com/downloads/data (requires sign in).
Support for 64bit architectures
The SDK now includes native binaries for 64bit ARM V8 architectures. This will satisfy the Google Play store requirement to deploy new apps with 64bit native libraries from August 2019. For further details see google blog for more details.
Java 8 requirement
To compile your app with the latest SDK your source code needs to be Java 8 compatible. See Install and set up
A number of enhancements have been made to conserve the amount of application memory required to display 3D scene layers. This includes supporting compressed ETC2 textures for mobile devices, releasing texture memory more aggressively, using pre-defined or on-the-fly oriented bounding boxes to improve culling of data not required to be rendered, optimizing data structures for vertices and indexing them to reduce redundancy, and many more. These improvements have led to a memory reduction of 40-50% in many cases.
Local server compatibility
The new Local Server version 100.5 works with ArcGIS Runtime 100.5.0 and supports ArcGIS Desktop 10.7 and ArcGIS Pro 2.3. See Local Server Geoprocessing tool support for the list of Geoprocessing tools supported at 100.5.0.
Changes to feature selection API
These methods that were deprecated at 100.4.0 no longer function at 100.5.0:
- Selection of features and graphics has been completely redesigned and overhauled in order to improve performance by taking advantage of the GPU and also to accommodate new functionality in this release such as annotation and reference scale. As a result, the appearance of selected features and graphics has changed from previous releases. Visually, selection is now more bold, and displayed on top of all content in a map view or scene view rather than on just the selected features or graphics, making it more distinguishable and easier to spot in bright ambient light conditions. Read more about this change in this blog post.
- Starting from version 3.0 of mobile map packages, maps are returned from the package in the order in which they were added to the package, rather than alphabetically.
- Default parameters for taking a map offline using on-demand and pre-planned workflows are now based on the options chosen by the map author in the offline settings of the web map.
- Surface now returns elevation from the top most elevation source (i.e the source that was added last) when two or more overlapping sources contain information for the same location. In previous releases the bottom most source was used. This change now makes it consistent with how elevation data is displayed in a sceneview for overlapping sources, and is also consistent with how content is returned from operational layers (for example, in identify operations)
- When opening web scenes, scene layers containing integrated mesh data in the I3S format are now returned as IntegratedMeshLayer type instead of the generic SceneLayer type that was previously used.
- Visibility analysis such as Viewshed and LineOfSight are now computed based on the geometry of the observer/target. Previously, the analysis was computed based on the center of the symbol used by the observer/target
The following list shows deprecations in the API and the replacement API:
- com.esri.arcgisruntime.layers package
- FeatureLayer.setSelectionColor method-use SelectionProperties.setColor(int) from your GeoView
- FeatureLayer.getSelectionColor method-use SelectionProperties.getColor(int) from your GeoView
- FeatureLayer.getSelectionWidth method-will be removed in a future version
- FeatureLayer.setSelectionWidth method-will be removed in a future version
- com.esri.arcgisruntime.mapping.view package
- GraphicsOverlay.getSelectionColor method-use SelectionProperties.setColor(int) from your GeoView
- GraphicsOverlay.setSelectionColor method-use SelectionProperties.setColor(int) from your GeoView
- SketchStyle.setSelectionColor method-use SelectionProperties.setColor(int) from your MapView
- SketchStyle.getSelectionColor method-use SelectionProperties.getColor(int) from your MapView
- com.esri.arcgisruntime.portal package
- PortalItem.getAccessAndUseConstraintsHtml method-use Item.getTermsOfUse()
- PortalItem.setAccessAndUseConstraintsHtml method-use Item.setTermsOfUse(String)
- com.esri.arcgisruntime.tasks.geodatabase package
- GeodatabaseSyncTask.generateGeodatabaseAsync method-use generateGeodatabase(GenerateGeodatabaseParameters, String)
- GeodatabaseSyncTask.syncGeodatabaseAsync method-use syncGeodatabase(SyncGeodatabaseParameters,Geodatabase)
- com.esri.arcgisruntime.tasks.offlinemap package
- DownloadPreplannedOfflineMapJob.getPreplannedMapArea method-use getParameters()
- DownloadPreplannedOfflineMapJob.isExcludeBasemap method-use getParameters()
- OfflineMapTask.downloadPreplannedOfflineMap(PreplannedMapArea area, String downloadDirectoryPath, boolean excludeBasemap) method-use downloadPreplannedOfflineMap(DownloadPreplannedOfflineMapParameters, String)
- com.esri.arcgisruntime.tasks.tilecache package
- ExportTileCacheTask.estimateTileCacheSizeAsync method-use estimateTileCacheSize
- ExportTileCacheTask.exportTileCacheAsync method-use ExportTileCacheTask#exportTileCache(ExportTileCacheParameters, String)
- BUG-000118198 Highest LOD available in TPK not rendered at the appropriate map scale
- BUG-000116810 QueryFeatures performance is slower in v100.3 Rntime when compared to v10.2.x.
- BUG-000115663 Setting MaxFeatures parameter when performing a spatial query returns inconsistent results
- BUG-000108264 RelationshipInfo is not returned properly from a mobile map package.
- BUG-000117456 Popup.GetformattedValue() method crashes the application when the Popup field populates with minimum Date Value (1/1/0001).
- BUG-000092734 Some of the KML files do not get loaded in 3D Scene view
- BUG-000116502 When quickly generating animated simple marker symbols, the style of the feature layer in the map is replaced by the style of the animated simple marker symbol.
- ENH-000115061 Request for disabling automatic realignment of the Mapview when the Mapview.LocationDisplay.IsEnabled is set to False.
- BUG-000116792 Layers in a mobile map package created using ArcGIS Pro do not respect label stacking properties.
- BUG-000108637 The ReverseGeocodeAsync method does not return all of the ResultAttributeNames found in the GeocodeParameters
- BUG-000104032 Collada models are not rendered correctly with ModelMarkerSymbol.
- BUG-000103661 ArcGIS Runtime doesn't honor Arcade expression while consuming as a web map.
- ENH-000116571 Include information in the Local Server documentation that to create geoprocessing packages in ArcGIS Pro that are ArcGIS Runtime enabled, one must use the Package Result tool
- BUG-000115806 Rendering geodatabase crashes intermittently in ArcGIS Runtime application while the geodatabase is displayed without any issue in ArcGIS Pro.
- Invalid argument error occurs when adding a new or existing feature with geometry to the table
- BUG-000114231 A feature service layer with a picture marker symbol with x-offset or y-offset set is not displayed properly as a feature layer
- BUG-000117217 Graphics floating in draped mode in a scene (dynamic mode only)
- BUG-000116867 Deadlock in SceneView on destruction
- BUG-000114143 Military symbols fail to display correct when resizing them in a Unique Value Renderer.
- BUG-000117464 Crash due to graphics list being modified at the same time the graphic objects are deleted
- BUG-000117464 Crash due to graphics list being modified at the same time the graphic objects are deleted
- BUG-000120016 Adding a multipoint object containing more than 250 points as a graphic using ArcGIS Runtime crashes the MapView.
- BUG-000116279 Cannot create TileCache from a path on Linux only
- BUG-000116794 Loading MapImage Sublayers causes MapImageLayer to draw incorrectly
- BUG-000117070 When creating features in a downloaded offline map, Runtime returns the error message, "The table is not editable" when the feature service dataset uses the database time for editor tracking.
- BUG-000119044 Shapefile polygon created from the Cut Polygons Tool in ArcMap causes ArcGISRuntimeException when updating the shapefile from an ArcGIS Runtime application.
- BUG-000117942 The deleteFeature() method fails to delete a feature completely from a shapefile..
- BUG-000119455 ArcGIS Runtime's GeocodeResult.Label property returns no value for some geocoded addresses.
- BUG-000118590 A mobile map package (.mmpk file) created using decorations in the cartographic line symbol does not return the expected results in an ArcGIS Runtime app.
- BUG-000120409 WMTS service does not load if the tile matrices of the service in the GetCapabilities file are not in sequential order.
- BUG-000120079 Labels do not honor frequency settings when a Vector Tile Package (.vtpk) is deployed in ArcGIS Runtime.
- BUG-000118445 MapView fails to zoom out to the full extent of larger basemap when a basemap with smaller extent is replaced by the basemap with the larger extent.
- BUG-000115930 Heavy scale dependent feature layer affects the performance of other feature layers in an .mmpk file.
- BUG-000107742 Analysis Services cannot be used with an AGSGeoprocessingTask in an ArcGIS Runtime app.
- BUG-000118443 The KMZ file does not display image as a photo overlay in ArcGIS Runtime.
- BUG-000119797 ArcGIS Runtime does not honor custom ArcGIS Pro Billboard3D stylx symbology.
- BUG-000119575 The AngleAlignment Property of a MultilayerPointSymbol is not honored in a 3D scene but honored in SimpleMarkerSymbol.
- BUG-000118160 ArcGIS Runtime SDK for Android is showing format warnings when building from the command line.
- BUG-000117567 An ArcGIS Runtime SDK for Android app crashes when map loads on a Xiaomi Redmi 6 device.
- BUG-000118551 Credentials are not cleared in the sign in form in external browser for built-in authentication.
- BUG-000118601 Canceling out of the Portal for ArcGIS sign in pop-up dialog returns an authentication error.
- BUG-000118552 The Credential pop-up does not indicate if the username or password is incorrect for Integrated Windows Authentication (IWA) and Lightweight Directory Access Protocol (LDAP) authentications.