Releases: google-ar/arcore-android-sdk
ARCore SDK for Android v1.18.0
Upcoming breaking change affecting previously published 32-bit-only apps
In August 2020, Google Play Services for AR (ARCore) will remove support
for 32-bit-only ARCore-enabled apps running on 64-bit devices. Support for
32-bit apps running on 32-bit devices is unaffected.
If you have published a 32-bit-only (armeabi-v7a
) version of your
ARCore-enabled app without publishing a corresponding 64-bit (arm64-v8a
)
version, you must update your app to include 64-bit native libraries before
August 2020. 32-bit-only ARCore-enabled apps that are not updated by this time
may crash when attempting to start an augmented reality (AR) session.
To learn more about this breaking change, and for instructions on how to update
your app, see https://developers.google.com/ar/64bit.
Known issues
- Issue 141500087: When using Android Emulator
x86_64
system images on macOS with ARCore SDK 1.16.0 or later, Google Play Services for AR will crash. As a workaround, use anx86
system image.
Breaking & behavioral changes
targetSdkVersion
inside the ARCore Android Archive (AAR) file has been updated to API level 29. Specifying atargetSdkVersion
in your project'sbuild.gradle
orAndroidManifest.xml
will override the ARCore value.
New APIs and capabilities
- Added new Depth API that provides a calculated depth image with each frame. Check the list of ARCore supported devices to see which devices support the Depth API.
Deprecations
None.
Other changes
- Updated Java and native HelloAR sample apps to include Depth API usage.
- Migrated Augmented Faces Java sample app from Sceneform to direct OpenGL calls.
Bug fixes
- Fixed Cloud Anchors Privacy link in the
cloud_anchor_java
sample app. The incorrect link now redirects to the correct link, so existing apps with the incorrect link don't need to be updated.
ARCore SDK for Android v1.17.0
Upcoming breaking change affecting previously published 32-bit-only apps
In August 2020, Google Play Services for AR (ARCore) will remove support
for 32-bit-only ARCore-enabled apps running on 64-bit devices. Support for
32-bit apps running on 32-bit devices is unaffected.
If you have published a 32-bit-only (armeabi-v7a
) version of your
ARCore-enabled app without publishing a corresponding 64-bit (arm64-v8a
)
version, you must update your app to include 64-bit native libraries before
August 2020. 32-bit-only ARCore-enabled apps that are not updated by this time
may crash when attempting to start an augmented reality (AR) session.
To learn more about this breaking change, and for instructions on how to update
your app, see https://developers.google.com/ar/64bit.
Known issues
None.
Breaking & behavioral changes
None.
New APIs and capabilities
- Added APIs for buffering sequential camera frames in a fixed-size texture queue, to support use cases such as multithreaded rendering pipelines.
- Added missing depth sensor usage and target FPS getters:
Deprecations
None.
Other changes
- Java: Added medium resolution option on the
computervision_java
sample.
Bug fixes
- Fixed a bug that caused a crash during the first installation of ARCore on certain devices.
ARCore SDK for Android v1.16.0
Upcoming breaking change affecting previously published 32-bit-only apps
In August 2020, Google Play Services for AR (ARCore) will remove support
for 32-bit-only ARCore-enabled apps running on 64-bit devices. Support for
32-bit apps running on 32-bit devices is unaffected.
If you have published a 32-bit-only (armeabi-v7a
) version of your
ARCore-enabled app without publishing a corresponding 64-bit (arm64-v8a
)
version, you must update your app to include 64-bit native libraries before
August 2020. 32-bit-only ARCore-enabled apps that are not updated by this time
may crash when attempting to start an augmented reality (AR) session.
To learn more about this breaking change, and for instructions on how to update
your app, see https://developers.google.com/ar/64bit.
Breaking & behavioral changes
- Beginning with ARCore SDK 1.16.0, most devices will now return additional supported camera configs with lower GPU texture resolutions than the device's default GPU texture resolution. See the ARCore supported devices for details.
New APIs and capabilities
- Expanded GPU resolutions are now available on more devices through the
getSupportedCameraConfigs(CameraConfigFilter)
API. See ARCore supported devices for details.
Deprecations
None.
Other changes
- Cleaned up documentation for
ArCameraConfigFilter
type.
Bug fixes
- Fixed the triangle winding direction in
BackgroundRenderer
in our samples, allowing it to work withGL_CULL_FACE
.
ARCore SDK for Android v1.15.0
Breaking & behavioral changes
- Update: A bug caused this feature to not work in 1.15.0, which is fixed in 1.16.0.
Beginning with ARCore SDK 1.15.0, some devices will now return additional supported camera configs with lower GPU texture resolutions than the device's default GPU texture resolution. See the ARCore supported devices for details.
New APIs and capabilities
- None
Deprecations
- None
Other changes
- Vertical plane detection works better on surfaces with low visual texture.
Bug fixes
- None
ARCore SDK for Android v1.14.1
Note: This is a Google Play Services for AR (APK) only release.
Bug fixes
- Fixes an issue that caused Google Play Services for AR to crash on some devices
ARCore SDK for Android v1.14.0
Breaking & behavioral changes
None.
New APIs and capabilities
- Added
CAMERA_UNAVAILABLE
to theTrackingFailureReason
enumeration to represent a temporary loss of the camera to another app on the device. After an app regains priority, tracking will resume. - Adds native error stack traces for some status failures.
Deprecations
None.
Other changes
None.
Bug fixes
- Fixed the Shared Camera sample's black frame flicker when switching between AR and non-AR modes.
ARCore SDK for Android v1.13.0
Breaking & behavioral changes
None.
New APIs and capabilities
None.
Deprecations
None.
Other changes
- Updated the samples gradle plugin to 3.5.0 (fixes "Gradle Sync error: No value has been specified for property manifestOutputDirectory").
- Fixed a compiler warning in C apps ("warning: explicitly defaulted default constructor is implicitly deleted").
Bug fixes
- Apps built with ARCore SDK 1.13 and later now correctly verify that the camera permission has been granted at ARCore session creation time. This check was missing in Google Play Services for AR (ARCore) 1.8 through 1.12, causing apps built with ARCore SDK 1.12 and earlier to fail to create an ARCore session on some devices, but succeed on others.
ARCore SDK for Android v1.12.1
Note: This is a Google Play Services for AR (APK) only release.
Bug fixes
- Fixes issues affecting users of Google Maps AR Walking Directions.
ARCore SDK for Android v1.12.0
Breaking & behavioral changes
-
The data captured by
hostCloudAnchor()
(Java) andArSession_hostAndAcquireNewCloudAnchor()
(NDK), which is uploaded to the ARCore Cloud Anchor API service has changed. See https://developers.google.com/ar/develop/java/cloud-anchors/overview-android#how-hosted to learn more. -
resolveCloudAnchor()
(Java) andArSession_resolveAndAcquireNewCloudAnchor()
(NDK) will no longer timeout or fail when the ARCore Cloud Anchor API service is unreachable, or the anchor cannot be immediately resolved. Instead, the API will continue to attempt to resolve the provided anchors until they are detached.- Java:
ERROR_RESOLVING_LOCALIZATION_NO_MATCH
andERROR_SERVICE_UNAVAILABLE
enums inCloudAnchorState
are now deprecated and will no longer be returned. - NDK:
AR_CLOUD_ANCHOR_STATE_ERROR_RESOLVING_LOCALIZATION_NO_MATCH
andAR_CLOUD_ANCHOR_STATE_ERROR_SERVICE_UNAVAILABLE
enums in theArCloudAnchorState
are now deprecated and will no longer be returned.
These changes only affect apps built with ARCore SDK 1.12 or later. Apps built with older SDKs will not be affected by this change, and will continue to observe old behavior.
- Java:
New APIs and capabilities
- There is a new enum value that can be set for a Cloud Anchor's state. The
ERROR_HOSTING_SERVICE_UNAVAILABLE
value will be set for a Cloud Anchor during the hosting process, if the ARCore Cloud Anchor service is unreachable.
Deprecations
- The following enum values in the
CloudAnchorState
are being deprecated:- Java:
ERROR_RESOLVING_LOCALIZATION_NO_MATCH
andERROR_SERVICE_UNAVAILABLE
enums inCloudAnchorState
are now deprecated and will no longer be returned. - NDK:
AR_CLOUD_ANCHOR_STATE_ERROR_RESOLVING_LOCALIZATION_NO_MATCH
andAR_CLOUD_ANCHOR_STATE_ERROR_SERVICE_UNAVAILABLE
enums in theArCloudAnchorState
are now deprecated and will no longer be returned.
- Java:
Other changes
None.
Bug fixes
None.
ARCore SDK for Android v1.11.0
Breaking & behavioral changes
- ARCore now targets 60fps on supported devices. Use new camera config filters to target 30fps on all ARCore devices. See ARCore supported devices for a list of supported devices.
- All sample apps will now allow the device to sleep when tracking is lost, such as when the device is placed on a table or in a pocket or bag.
New APIs and capabilities
- Ability to filter camera configurations based on Target FPS and Depth Sensor Usage:
- New
CameraConfigFilter
class (Java) andArCameraConfigFilter_*()
functions (NDK) let an app filter theCameraConfig
list based on Target FPS and/or Depth Camera Usage. - New
Session.getSupportedCameraConfigs(CameraConfigFilter)
(Java) andArSession_getSupportedCameraConfigsWithFilter(…)
(NDK) returns a list of supported camera configs based on the provided filter settings.
- New
Deprecations
Session.getSupportedCameraConfigs()
(Java) andArSession_getSupportedCameraConfigs(…)
(NDK) are now deprecated. UsegetSupportedCameraConfigs(CameraConfigFilter)
(Java) andArSession_getSupportedCameraConfigsWithFilter(…)
(NDK) instead.
Other changes
- The ARCore service has been renamed to Google Play Services for AR. On Google Play devices it is now distributed as part of Google Play Services.
- The samples have been updated to Gradle 5.4.1 and Android Gradle Plugin 3.4.1.
- Samples now uses white for all detected planes, to avoid confusion due to users inferring meaning from the different colors.
- Fixed a memory leak that occurs when an Activity is passed in as the Application Context during Session creation.
- Added a switch to Computer Vision sample for toggling RGB camera passthrough.
Bug fixes
None