ARCore SDK for Android Studio
OTHER License
Bot releases are visible (Hide)
Published by noelvictor1 over 5 years ago
Note: this is an ARCore APK-only release (version 1.9.1).
SDK version remains unchanged (version 1.9.0).
Published by noelvictor1 over 5 years ago
Published by noelvictor1 over 5 years ago
README.md
to clarify ARCore's User Privacy Requirements.None.
Camera.getTrackingFailureReason()
(Java) and ArCamera_getTrackingFailureReason()
(NDK) method that returns the reason for AR tracking failure when tracking state is PAUSED
.Frame.transformCoordinates2d(…)
(Java) and ArFrame_transformCoordinates2d(…)
(NDK) method that transforms a list of 2D coordinates from one 2D coordinate system to another 2D coordinate system.Session(Context, Set<Session.Feature>)
(Java) and ArSession_createWithFeatures()
(NDK) enable new capabilities, starting with:FRONT_CAMERA
feature when creating a session.CameraConfig.getFacingDirection()
(Java) and ArCameraConfig_getFacingDirection()
(NDK) let an app check if it is using the front-facing camera.Config.setAugmentedFaceMode(…)
lets an app enable Augmented Faces.AugmentedFace
class to detect a face, determine region poses and generate a 3D face mesh.AugmentedFace
(Java) class and a set of ArAugmentedFace_*
(NDK) methods provide getters to request the center pose, region poses, vertices, normals, and triangle indices of the 3D face mesh.SHARED_CAMERA
feature when creating a session. This feature is primarily intended to allow fast switching between camera-only (non-AR) and ARCore modes.shared_camera_java
example that demonstrates how to share camera access with ARCore.SharedCamera
class to enable apps to share Camera2 API access with ARCore.
Frame.getImageMetadata()
throws IllegalStateException
when using a shared camera session. Instead, subscribe to the camera callback directly by using SharedCamera.setCaptureCallback(…)
, and use Frame.getAndroidCameraTimestamp()
to correlate frame to metadata.Session.getSharedCamera()
gets the shared camera object for the session.Frame.getAndroidCameraTimestamp()
returns the Android camera timestamp of the image.Session.close()
allows for explicit release of resources held by ARCore session for better resource control.PointCloud
now implements Closeable
, allowing it to be used with Java try-with-resources and Kotlin use
blocks.Frame.transformDisplayUvCoords
(Java) and ArFrame_transformDisplayUvCoords
(NDK) is now deprecated. Please use frame.transformCoordinates2d(Coordinates2d.VIEW_NORMALIZED, …, Coordinates2d.TEXTURE_NORMALIZED, …)
(Java) and ArFrame_transformCoordinates2d(…, AR_COORDINATES_2D_VIEW_NORMALIZED, …, AR_COORDINATES_2D_TEXTURE_NORMALIZED, …)
(NDK) instead.Session.createAnchor()
and Trackable.createAnchor()
will now correctly throw SessionPausedException
and NotTrackingException
when appropriate instead of FatalException
.ArSession_acquireNewAnchor()
and ArTrackable_acquireNewAnchor()
will now correctly return AR_ERROR_SESSION_PAUSED
and AR_ERROR_NOT_TRACKING
when appropriate instead of AR_ERROR_FATAL
.Published by noelvictor1 almost 6 years ago
LICENSE
file for details.Camera.getPose()
(Java) and ArCamera_getPose()
(C) have changed. See "Bug fixes" below for details.new Session()
now correctly declares that it can throw UnavailableDeviceNotCompatibleException
. See "Bug fixes" below for details.Session.getSupportedCameraConfigs()
(Java) and ArSession_getSupportedCameraConfigs()
(C) is no longer guaranteed to be 1280 x 720. It now varies by device.new Session()
(Java) and ArSession_create()
(C).Camera.getPose()
(Java) and ArCamera_getPose()
(C) now correctly return the camera pose oriented with the physical image sensor as originally intended. Previously this method had returned a camera rotated to be aligned with Android sensor coordinates. This change only affects applications using the ARCore v1.6 SDK and later.new Session()
now correctly declares that it can throw UnavailableDeviceNotCompatibleException
. This is not a behavioral change as this exception has been possible from native code since ARCore 1.0.ArSession_getAllTrackables()
now clears the input list as documented.Published by avirodov almost 6 years ago
Note: this is an ARCore APK-only release (version 1.5.3). SDK version remains unchanged (version 1.5.0).
Note: this is an ARCore APK-only release (version 1.5.2). SDK version remains unchanged (version 1.5.0).
Note: this is an ARCore APK-only release (version 1.5.1). SDK version remains unchanged (version 1.5.0).
FatalException
(Java) or return AR_ERROR_FATAL
(C) instead of crashing with a JNI error.None.
PointCloud.getIds()
and C function ArPointCloud_getIds()
that returns a stable ID associated with each point in the point cloud.None.
ArCoreApk.requestInstall(Activity, bool)
(Java) and ArCoreApk_requestInstall()
(C) now defaults to skipping the user education dialog for AR Optional apps.Camera.getPose()
(Java) and ArCamera_getPose()
(C) to reflect the current incorrect behavior, which has existed since ARCore 1.0. The behavior will be fixed in an upcoming version of the SDK, without affecting behavior of existing apps.bool
argument to ArCoreApk_requestInstall
has been changed to int32_t
for ANSI C compatibility.ArImage
too soon. Moved call to ArImage_release()
after call to cpu_image_renderer_.Draw(..)
.ArImage
is being used for rendering.ArCoreApk.requestInstall()
(Java) and ArCoreApk_requestInstall()
(C) could throw a FatalException
.Published by avirodov about 6 years ago
Updated on 2018-09-11 to add links to ARCore 1.4.1 APK that fixes Issue 512 and Issue 429.
Note: this is ARCore APK-only release.
In ARCore 1.4.1 APK, fixed an issue where supported devices could sometimes report as unsupported:
None.
CameraConfig
class describes the camera config, used to obtain the CPU image and GPU texture dimensions.Session
:
getSupportedCameraConfigs()
returns a list of supported camera configs.setCameraConfig(…)
sets the camera config to one returned by getSupportedCameraConfigs()
.getCameraConfig()
gets the camera config currently in use.ArCameraConfigList
class to hold list of ArCameraConfig
s.Frame.hitTest(float[] origin, int originOffset, float[] direction, int directionOffset)
that performs a hit test with an arbitrary ray constructed from given origin and direction.ArFrame_hitTestRay(…)
that performs a hit test with an arbitrary ray constructed from given origin and direction.Config
:
setFocusMode(FocusMode focusMode)
to enable/disable auto-focus. Default mode remains fixed focus, which is optmized for AR tracking.getFocusMode()
returns the current focus mode.None.
Session
's setCameraConfig()
since the last call to resume()
, all images previously returned by Frame
's acquireCameraImage()
must be closed before calling resume()
. Failure to do so will result in an IllegalStateException
(C: AR_ERROR_ILLEGAL_STATE
) and the session will not resume.CameraIntrinsics.getImageDimensions()
to refer to "image dimensions" instead of "principal point".Published by avirodov over 6 years ago
Updated on 2018-06-25 to also mention fix for issue 212.
None.
Frame
:
getAndroidSensorPose()
returns the world-space pose of the Android sensor frame.Camera
:
getImageIntrinsics()
returns the camera image's camera intrinsics.getTextureIntrinsics()
returns the camera texture's camera intrinsics.CameraIntrinsics
that provides the unrotated physical characteristics for a camera, which consists of its focal length, pricinpal point, and image dimensions.Session
:
getConfig()
returns the config set by Session.configure()
.None.
None.
Image.close()
is now idempotent. Fixes issue 352.ERROR_NOT_AUTHORIZED
.Published by avirodov over 6 years ago
Published by avirodov over 6 years ago
Updated on 2018-05-11 to remove temporary APK sideload instructions.
None.
Session.isSupported()
is now deprecated. Device capability checking is part of ARCore installation functionality (specifically ArCoreApk.checkAvailability()
and ArCoreApk.requestInstall()
). The implementation is frozen to always return true
as it did in release 1.1.ArSession_checkSupported()
is now deprecated. Device capability checking is part of ARCore installation functionality (specifically ArCoreApk_checkAvailability()
and ArCoreApk_requestInstall()
). The implementation is frozen to always return AR_SUCCESS
as it did in release 1.1.UpdateMode
AR_UPDATE_MODE_BLOCKING
to specify behavior when camera images do not arrive by the built-in timeout.ArCoreApk.checkAvailability()
will always immediately return a SUPPORTED_*
Availability
.ArCoreApk_checkAvailability()
will always immediately return an AR_AVAILABILITY_SUPPORTED_*
code.-keepattributes *Annotation*
in your library's proguard spec.Pose
convenience methods getTranslation()
, getRotationQuaternion()
and rotateVector()
that return an array instead of taking an output array as an argument.launchMode="singleTask"
in their AndroidManifest.xml
(which is the default for Unity and Unreal apps) will no longer display a blank screen if the user exits the app and re-launches it while the "This app requires the latest version of ARCore" screen is displayed.ERROR_INTERNAL
instead of ERROR_NOT_AUTHORIZED
. This is a known issue and will be fixed in an upcoming release.Published by avirodov over 6 years ago
ARCore enables AR applications to track a phone’s motion in the real world, detect planes in the environment, and understand lighting in the camera scene.
ARCore 1.1 provides two new APIs:
We have split arcore_sdk.so
into arcore_sdk_c.so
and arcore_sdk_jni.so
.
arcore_sdk_c.so
. The C sample app reflects this change.This release is only supported on, and should only be installed on, qualified devices running Android N and later. See the list of ARCore supported devices for specific device models.
When possible, ARCore should always be installed from the Google Play Store. The APKs are offered for use in the Android Emulator and for developers that cannot access the Google Play Store.
Published by avirodov over 6 years ago
ARCore enables AR applications to track a phone’s motion in the real world, detect planes in the environment, and understand lighting in the camera scene. ARCore 1.0 introduces oriented points which allow the placement of virtual objects on non-horizontal or non-planar textured surfaces (like posters and cans). The Android Emulator in Android Studio 3.1 Beta supports ARCore 1.0.
ARCore 1.0 is available for use in production apps on supported Android devices. ARCore 1.0 introduces the concept of AR required and AR optional apps. Apps should be classified as required or optional to ensure the ARCore service install is properly handled by the Play Store.
With ARCore 1.0 your app must request the Android Camera Permission before session create (ArSession_create()
in C and new Session()
in Java). Previously in Developer Preview 2, camera permission was required only before resuming an AR Session.
This release is only supported on, and should only be installed on, qualified devices running Android N and later. See the list of ARCore supported devices for specific device models.
Apps built with ARCore Developer Preview or ARCore Developer Preview 2 are not supported on with ARCore 1.0.
Anchor.getTrackingState()
and Plane.getTrackingState()
will not be set to STOPPED_TRACKING
.Published by jguomoto almost 7 years ago
2018-01-30 EDIT: Added link to ARCore supported devices.
This is a developer preview SDK that enables prototyping AR experiences using ARCore on supported Android devices.
ARCore enables AR applications to track a phone’s motion in the real world, detect planes in the environment, and understand lighting in the camera scene.
This developer preview release is not intended for use in production apps that are shipped to customers. Future versions of ARCore might introduce breaking changes to the API.
This release is only supported on, and should only be installed on, qualified devices running Android N and later. See the list of ARCore supported devices for specific device models.
Installing this release on phones other than the supported devices might break other software on the device.
arcore-preview.apk
. Apps built with ARCore SDK Developer Preview 2 are only compatible with arcore-preview2.apk
.arcore-preview.apk
will be visible as “Tango Core” in the Android Apps settings whereas arcore-preview2.apk
will be visible as “ARCore” in the Android Apps settings.ArSession_configure()
does not apply settings changes if called while in a resumed state.Published by jguomoto about 7 years ago
This is a preview that enables prototyping AR experiences using ARCore on supported Android devices.
ARCore enables AR applications to track a phone’s motion in the real world, detect planes in the environment, and understand lighting in the camera scene.
Important: This release is not a production release; it is not intended for use in production apps shipped to customers. Future versions of ARCore may introduce breaking changes to the API.
This release is only supported on qualified devices running Android N and later, which include:
Installing this release on phones other than the supported devices may break other software on the device.