Skip to content

Releases: google-ar/arcore-android-sdk

ARCore SDK for Android v1.42.0

15 Mar 17:56
Compare
Choose a tag to compare

Bug fixes

  • Fixed an issue when installing ARCore on certain devices using Android 14.

Other changes

  • Updated okhttp dependency from 3.12.0 to 4.10.0 in the ml_kotlin sample.

ARCore SDK for Android v1.41.0

07 Dec 17:21
Compare
Choose a tag to compare

Bug fixes

  • #1271: Fixed an issue that could cause methods of the ArCoreApk class (Java) and ArCoreApk_* functions (NDK) to return errors or incorrect non-availability when running in dev builds or other otherwise as a side-loaded app.

ARCore SDK for Android v1.40.0

13 Oct 20:24
Compare
Choose a tag to compare

Breaking & behavioral changes

Bug fixes

  • #1602: Fixed a NullPointerException when closing an ARCore session with a SharedCamera that was already closed.

ARCore SDK for Android v1.39.0

17 Aug 19:01
Compare
Choose a tag to compare

Known issues

  • None.

Breaking & behavioral changes

  • None.

New APIs and capabilities

  • None.

Deprecations

  • None.

Other changes

  • Upgraded sample apps using de.javagl:obj to version 0.4.0 from version 0.2.1.

Bug fixes

  • Various bug fixes and performance improvements.

ARCore SDK for Android v1.38.0

05 Jul 22:37
Compare
Choose a tag to compare

Known issues

  • #1573: On certain Android devices, enabling 60FPS mode causes the tracking to become unsynchronized with the camera feed. The 60FPS mode has been temporarily disabled on these devices and will not appear in supported camera configurations.

Other changes

  • Removed Streetscape Geometry shaders from samples that do not use them.

Bug fixes

  • Various bug fixes and performance improvements.

ARCore SDK for Android v1.37.0

10 May 20:41
Compare
Choose a tag to compare

Known issues

  • #1573: On certain devices, enabling 60FPS mode causes the tracking to become unsynchronized with the camera feed. The 60FPS mode has been temporarily disabled on these devices and will not appear in supported camera configurations.

New APIs and capabilities

Scene Semantics

Scene Semantics provides richer details about the surrounding scene, making it easier to understand the world around the user. Scene Semantics runs an ML model on the camera image feed and provides a semantic image with each pixel corresponding to one of 11 labels of outdoor concepts.

See Introduction to Scene Semantics and the semantics_java sample app for more information.

Kotlin/Java:

C:

Streetscape Geometry

Streetscape Geometry is a new ARCore Geospatial API that provides the geometry of buildings and terrain in an area around the user when the Geospatial API is enabled.

See Streetscape Geometry Developer Guide (Kotlin/Java) and Streetscape Geometry Developer Guide (C) for more information. Additionally, the geospatial_java sample app has been updated to include Streetscape Geometry.

Kotlin/Java:

C:

Rooftop anchors

Rooftop anchors are a new Geospatial anchor type that helps you anchor content to a rooftop.

See Geospatial anchors (Java) and Geospatial anchors (C) for more information. Additionally, the geospatial_java sample app has been updated to include Rooftop anchors.

Kotlin/Java:

C:

Geospatial Depth

When both the Depth API and Streetscape Geometry modes are enabled in an ARCore session in areas with VPS coverage, the generated depth images are improved using Streetscape Geometry. Streetscape Geometry is integrated into each generated depth image out to a range of 65.535 meters. No changes are needed when calling the Depth API to see this benefit.

See Geospatial Depth (Java) and Geospatial Depth (C) for more information.

Vulkan rendering support

ARCore now provides Vulkan rendering support by exposing the camera image through an AHardwareBuffer. You can use this Hardware Buffer by binding it to a VkImage.

See Rendering your ARCore application using Vulkan and the hello_ar_vulkan_c sample app for more information.

Java:

C:

Electronic Image Stabilization (EIS)

You can configure ARCore to use Electronic Image Stabilization, which smooths camera frames for a more fluid user experience.

See Enabling Electronic Image Stabilization and the hello_eis_kotlin sample app for more information.

Kotlin/Java:

C:

ARCore async APIs

This release introduces new ARCore async APIs to improve ergonomics when working with asynchronous operations, following the Future paradigm.

Java:

  • Resolving Terrain anchors: Use [Earth.resolveAnchorOnTerrainAsync()] to obtain a [ResolveAnchorOnTerrainFuture]. The old symbol [Earth.resolveAnchorOnTerrain()] has been deprecated and may be removed in a later version of ARCore.
  • Resolving Cloud anchors: Use [Session.resolveCloudAnchorAsync()] to obtain a [ResolveCloudAnchorFuture]. The old symbol [`Se...
Read more

ARCore SDK for Android v1.36.0

03 Mar 23:34
Compare
Choose a tag to compare

Other changes

ARCore SDK for Android v1.35.0

08 Dec 01:23
Compare
Choose a tag to compare

New APIs and capabilities

Geospatial pose accuracy

All Geospatial poses now expose their orientation accuracy of the Yaw rotation, replacing heading accuracy.

Deprecations

Other changes

ARCore SDK for Android v1.34.0

12 Oct 22:37
Compare
Choose a tag to compare

New APIs and capabilities

Check Geospatial VPS availability

A new ARCore Geospatial API has been added to check for Visual Positioning System (VPS) availability at a specified horizontal position at runtime. This API can be used without an active AR session, for example, to present an "Enter AR" button only when VPS is available.

Geospatial pose orientation

Geospatial poses now expose their orientation in 3D space.

Geospatial pose conversions

Geospatial poses can now be converted to and from world-space poses.

Note that Geospatial poses obtained from these functions have a heading value set to zero. Instead, use its EUS quaternion instead.

Other changes

  • The geospatial_java sample has been adjusted to check for VPS availability.
  • The geospatial_java sample now supports creating a Geospatial anchor by tapping on the AR camera view.
  • Updated Kotlin samples to Kotlin version 1.5.30 from 1.4.20.

Bug fixes

  • Fixed "Device Not Supported" being reported for emulator images on ARM host machines.
  • ArEarth_getEarthState() and ArAnchor_getTerrainAnchorState() now correctly return ERROR_NOT_AUTHORIZED when there is an authentication issue instead of returning ERROR_INTERNAL.

ARCore SDK for Android v1.33.0

18 Aug 18:25
Compare
Choose a tag to compare

Breaking & behavioral changes

  • To use Cloud Anchors, you must now enable the ARCore API instead of the older ARCore Cloud Anchor API, which is now deprecated. To support older app versions, you may enable both while making the transition. Apps built with ARCore SDK 1.32.0 and lower will target the older API, while apps built with ARCore SDK 1.33.0 and higher will target the new API. Note the following:
    • The new API uses the domain name arcore.googleapis.com instead of arcorecloudanchor.googleapis.com.
    • If you are using an API Key which is restricted by API, you must allow the ARCore API.
    • If you send requests to the ARCore Cloud Anchor Management API from your backend, you must also change the domain name to arcore.googleapis.com, after enabling the ARCore API.
    • The old API/endpoint will continue to be supported through August 2023.
    • See ARCore 1.33 Cloud Anchor endpoint changes for more details.
  • ArImage has been removed. Use android.media.Image instead.
  • targetSdkVersion inside the ARCore aar has been updated to API level 33. Specifying a targetSdkVersion in your project's build.gradle or AndroidManifest.xml will override the ARCore value.

New APIs and capabilities

ARCore Geospatial Terrain anchor API - new

The new ARCore Geospatial Terrain anchor API can create an anchor at a specified horizontal position and altitude relative to the horizontal position's terrain.

Other changes

  • Updated Java and native sample apps to targetSdkVersion 33.