This topic describes the changes in version 10.2.5 of the ArcGIS Runtime SDK for Android.
Android Studio support
Android Studio from Google is now the official supported Integrated Development Environment (IDE) for creating Android apps. At this release, we support ArcGIS Runtime SDK for Android development with Android Studio.
An Android Archive (AAR) is available from the Bintray Maven central repository, or the ArcGIS Runtime SDK for Android download from developers.arcgis.com; you can reference this AAR as a dependency in your Gradle build script.
Samples are now available for Android Studio, from the samples repository on GitHub.com, or from the SDK download.
Tutorials for creating apps with the new Android Studio are available in the Guide. If you are unfamiliar with Android Studio, you may want to start with Add a map to your app.
Note that it is not currently possible to use the AAR with x86 devices or emulators—an UnsatisfiedLinkError will be thrown. You can workaround this issue by referencing local copies of the .so and .jar libraries directly from your Android Studio project, instead of building against the AAR which includes these dependencies for you. To find out more about adding a dependency to the ArcGIS Runtime SDK for Android, refer to Install and set up.
The Eclipse plugin is deprecated. From version 10.2.5, Esri no longer provides tools for the Eclipse IDE in the form of a plugin, however, it is possible to continue to develop existing apps using Eclipse by referencing the required .jar and .so files directly from your project.
A number of other smaller bug fixes and improvements have also been added.
- Added GeometryEngine.normalizeCentralMeridian method. This allows geometries created in wrap-around maps to be normalized within the spatial reference bounds.
- New parameterless constructor, and new methods fetchDrawable, getUrl and setUrl on PictureMarkerSymbol for setting PictureMarkerSymbols using URLs of bitmaps. These methods should be used when setting PictureMarkerSymbol bitmaps from a URL instead of a local resource.
- New classes LayerRelationship.Cardinality and LayerRelationship.Role, and new methods getCardinality, getRole, getKeyField and isComposite on LayerRelationship class. These classes are used in layers with related records. For more information, see the API reference.
- PictureMarkerSymbol(String) constructor is deprecated in favor of a combination of the new parameterless constructor and setUrl and fetchDrawable methods. See the API reference documentation for PictureMarkerSymbol for more information.
- BUG-000082775: MapOptions.Center does not work when device language setting is German.
- OutOfMemoryError exception thrown while trying to upload a large attachment(~60 MB) to server during sync.
- x86 native *.so files bundled in AAR do not work on android stock x86 emulator. They do work on device. If you need to test on x86 emulator then you need to should not use the AAR bundle and instead add all the libs manually.
- For Android 5.0 devices, if SwitchBaseMap is called twice in succession, the first call will be cancelled, but the onSwitchBaseMapCompleted callback will not be called back for the cancelled call.
- In some cases when zooming in on a map with a RasterLayer, the data from the previous zoom level may remain in the display.
- A RasterLayer instantiated from FileRasterSource cannot be reprojected automatically. Workaround: Call the FileRasterSource.project method before passing the FileRasterSource to the RasterLayer constructor.
- If a geodatabase file has been replaced with different data, an existing Geodatabase instance may still have a reference to the replicaIId of the previous deleted geodatabase file.
- When wrap-around is enabled for a map, loading a web map that has an extent with coordinates outside the bounds of the spatial reference can result in the wrap-around failing.
- When uploading attachments to a secure service, 403 errors received from the service may be treated as unauthorized access exceptions.
- When using a FeatureServiceTable, you can edit related records, but relationships between records cannot be edited, created, or deleted.
- It is not possible to use Ownership Based Access Control (OBAC) functionality with a disconnected geodatabase created from an ArcGIS Server version earlier than 10.3. Workaround: Use ArcGIS for Server 10.3.
- Geopackage vector feature tables that have a geometry type defined as Geometry or Geometry Collection cannot be read, displayed, or edited.
- Each individual raster file used in a raster layer is limited in size to 4GB; this is a current limitation of the Android platform.
- Callouts that contain WebViews as content, and that are displayed using Callout.animatedShow() or Callout.animatedHide(), may display content poorly—content may appear fuzzy, and callout may flash at end of hide animation. Workaround is to use non-animated alternatives, Callout.hide() and Callout.show(), if affected.
- FeatureServiceTable does not support time-awareness.
- Advanced Symbology doesn't support MIL-2525C and APP 6B dictionaries installed on same device. Workaround this issue by setting the path of one of the resources explicitly, using the MessageProcessor constructor that allows you to set the symbol dictionary path.
- New feature services created from ArcMap from feature classes that have names containing SQL keywords like "desc" and "asc" may cause initialization to fail if used in a GeodatabaseFeatureServiceTable. Workaround is to change feature class names to non-reserved words.
- CalloutPopupWindow may display incorrectly if style with corner curve value of 0 is used.
- When not using a full screen view for the OAuthView, enterprise logins may not work properly if the organization has several redirect pages.
- Geodatabases need to be synced and edited from the same thread, otherwise edits will not be visible.
- Services with a casing mismatch between the field names used in the 'editFieldsInfo' and 'fields' JSON attributes (defined in the service REST endpoint) may not honor editor tracking.
- Rendering fails for layers with class breaks renderer when the class breaks field is SHAPE.AREA or SHAPE.LEN.
- Failure to load webmaps with basemaps that have popups defined.
- WebMap which contains ArcGIS Server .NET 10.1 secured services never loads, and WebMapLayer which should be skipped is not skipped.
- When a Popup has multiple media and one image has invalid URL and a valid URL is linked to this image , tapping on this image in full screen mode won't open the linked page.
- If there are more than one reference layer in a basemap they don't all get shown.
- Popup Pie chart can't be created if one of the values is negative.
- Selection mode 'subtract' does not work correctly when using ArcGISFeatureLayer in snapshot mode.
- The onWebMapLayerAdd event won't be triggered when a feature collection is added to a webmap.
- Unique value renderer does not support field2.
- NIM103321 Chinese and Korean characters may not display correctly in a text symbol if using a default font.