ARCore cho Jetpack XR

Đưa nội dung kỹ thuật số vào thế giới thực bằng các tính năng nhận thức.
Bản cập nhật mới nhất Bản phát hành ổn định Bản phát hành dùng thử Bản phát hành beta Bản phát hành alpha
Ngày 25 tháng 3 năm 2026 - - - 1.0.0-alpha12

Khai báo phần phụ thuộc

Để thêm một phần phụ thuộc trên ARCore cho Jetpack XR, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.

Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle cho ứng dụng hoặc mô-đun:

Groovy

dependencies {
    implementation "androidx.xr.arcore:arcore:1.0.0-alpha12"

    // Optional dependencies for asynchronous conversions
    implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha12"
    implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha12"
}

Kotlin

dependencies {
    implementation("androidx.xr.arcore:arcore:1.0.0-alpha12")

    // Optional dependencies for asynchronous conversions
    implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha12")
    implementation("androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha12")
}

Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.

Ý kiến phản hồi

Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.

Báo lỗi mới

Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.

Phiên bản 1.0

Phiên bản 1.0.0-alpha12

Ngày 25 tháng 3 năm 2026

Phát hành androidx.xr.arcore:arcore-*:1.0.0-alpha12. Phiên bản 1.0.0-alpha12 bao gồm các thay đổi sau.

Thay đổi về API

  • Đã thay đổi Config.augmentedObjectCategories từ Danh sách thành Tập hợp. (I25a64, b/487376359)
  • Các loại androidx.xr.arcore.Eyeandroidx.xr.arcore.Hand. (I42438, b/449032900)
  • Đã thêm phương thức nạp chồng Session.create để cho phép truyền Ngữ cảnh Android cho phạm vi tài nguyên. (I7d3fe, b/415805990, b/477386334)
  • Thay đổi FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMIT thành FakeRuntimeAnchor.anchorResourceLimit. (I90841, b/431992235)
  • Đang thử nghiệm API TiltGesture vì API này có thể thay đổi hoặc bị xoá trong tương lai. Để sử dụng API này, hãy chọn tham gia @ExperimentalGesturesApi (Ic9858)
  • Đã thêm khả năng đặt danh mục cho tính năng theo dõi AugmentedObject trong Cấu hình (I1f6e4, b/480220930)

Sửa lỗi

  • Đã khắc phục bản dựng của Chrome bằng cách cập nhật tệp META-INF/services/ với vị trí thực của PerceptionRuntimeFactory. (I7a801, b/481288291)

Phiên bản 1.0.0-alpha11

Ngày 25 tháng 2 năm 2026

Phát hành androidx.xr.arcore:arcore-*:1.0.0-alpha11. Phiên bản 1.0.0-alpha11 bao gồm các thay đổi sau.

Phiên bản 1.0.0-alpha10

Ngày 28 tháng 1 năm 2026

Phát hành androidx.xr.arcore:arcore-*:1.0.0-alpha10. Phiên bản 1.0.0-alpha10 bao gồm các thay đổi sau.

Tính năng mới

  • Giới thiệu API TiltGesture, cung cấp Flow phản ứng để phát hiện ổn định trạng thái nghiêng (LÊN/XUỐNG) của thiết bị với tiến trình chuyển đổi. (Ic269f, b/448152779)
  • ARCore cho Jetpack XR hiện sử dụng cơ chế Ghi nhật ký thời gian chạy XR. Vui lòng xem androidx.xr.runtime.Log để biết thêm thông tin. (l52735, b/448697662)

Thay đổi về API

  • Geospatial.createPoseFromGeospatialPose hiện hoạt động trên các thiết bị hỗ trợ OpenXR. (l362c6)

Phiên bản 1.0.0-alpha09

Ngày 3 tháng 12 năm 2025

Phát hành androidx.xr.arcore:arcore-*:1.0.0-alpha09. Phiên bản 1.0.0-alpha09 bao gồm các thay đổi sau.

Phiên bản 1.0.0-alpha08

Ngày 19 tháng 11 năm 2025

Phát hành androidx.xr.arcore:arcore-*:1.0.0-alpha08. Phiên bản 1.0.0-alpha08 bao gồm các thay đổi sau.

Tính năng mới

  • ARCore cho Jetpack XR hiện hỗ trợ các thiết bị có Dịch vụ Google Play cho Thực tế tăng cường.
  • Đã thêm API Không gian địa lý cho Khả năng cung cấp VPS và chuyển đổi tư thế (I144dc)

Phiên bản 1.0.0-alpha07

Ngày 22 tháng 10 năm 2025

Phát hành androidx.xr.arcore:arcore-*:1.0.0-alpha07. Phiên bản 1.0.0-alpha07 bao gồm các thay đổi sau.

Sửa lỗi

  • Đã thêm :xr:arcore:arcore-openxr dưới dạng phần phụ thuộc triển khai vào :xr:arcore:arcore (I47315, b/446999229)

Phiên bản 1.0.0-alpha06

Ngày 24 tháng 9 năm 2025

Phát hành androidx.xr.arcore:arcore-*:1.0.0-alpha06. Phiên bản 1.0.0-alpha06 bao gồm các thay đổi sau.

Thay đổi về API

  • Tính năng hỗ trợ kiểm thử cho ARCore đã di chuyển sang mô-đun xr:arcore:arcore-testing. (I25469)
  • Thêm ArDeviceRenderViewpoint để cho phép các ứng dụng truy xuất tư thế và cấu hình hiển thị của thiết bị cho mục đích kết xuất. (Ib7e3f)
  • Đổi tên enum HandJointType bằng tiền tố HAND_JOINT_TYPE_. (I3f7cd)
  • HandJointType đã được di chuyển từ xr:runtime:runtime sang xr:arcore:arcore. (Iadb9c, b/409058039)
  • Hand.State hiện hiển thị một java.nio.FloatBuffer với các tư thế khớp ở định dạng cho phép dễ dàng truy cập vào các ứng dụng hướng đến hiệu suất. (I55e27)

Phiên bản 1.0.0-alpha05

Ngày 30 tháng 7 năm 2025

Phát hành androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05. Phiên bản 1.0.0-alpha05 bao gồm các thay đổi sau.

Tính năng mới

  • Thêm getPrimaryHandSide để nhà phát triển có thể lấy thông tin về phía tay (I270bd)
  • Thêm API kiểm tra khả năng cung cấp VPS không gian địa lý (I58573)
  • Thêm API ARCore cho checkVpsAvailability (Idbded)
  • Đã thêm các hàm mở rộng stateFlowable vào :xr:arcore:arcore-rxjava3 để nhà phát triển Java sử dụng. (I083aa, b/427247794)

Thay đổi về API

  • Đã đổi tên các giá trị *Mode của Cấu hình để phản ánh hành vi của chúng. (I6d247, b/414648065)
  • Cấu phần phần mềm ARCore chính (xr:arcore:arcore) sẽ chỉ chứa các API không đồng bộ theo kiểu Kotlin. Nhà phát triển Java có thể phụ thuộc vào thư viện xr:arcore:arcore-rxjava3 để truy cập vào các API tương thích. (Ia525e, b/422794329)
  • Cấu phần phần mềm ARCore chính (xr:scenecore:scenecore) sẽ chỉ chứa các API không đồng bộ theo kiểu Kotlin. Nhà phát triển Java có thể phụ thuộc vào thư viện xr:arcore:arcore-guava để truy cập vào các API tương thích. (Iffcb4, b/422773524)
  • Đã thêm Anchor.persistAsync() vào AnchorGuava để nhà phát triển Java sử dụng. (I4af1c, b/425984631)
  • Đã thêm Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface) vào EarthGuava để nhà phát triển Java sử dụng. (I66357, b/425992992)
  • Nhà phát triển Java sẽ sử dụng các hàm mở rộng cho GltfModel.createAsync trong GltfModel.kt. Các hàm không đồng bộ trong GltfModel sẽ bị xoá. (I0af60)
  • Thư viện này hiện sử dụng chú thích thuộc tính rỗng JSpecify, là chú thích sử dụng kiểu. Nhà phát triển Kotlin nên sử dụng đối số trình biên dịch sau để thực thi việc sử dụng chính xác: -Xjspecify-annotations=strict (đây là giá trị mặc định bắt đầu từ phiên bản 2.1.0 của trình biên dịch Kotlin) (Ia8420, b/326456246)
  • Đã thêm các hàm mở rộng subscribeAsFlowable vào :xr:arcore:arcore-rxjava3 để nhà phát triển Java sử dụng. (Id3e49, b/427277298)

Phiên bản 1.0.0-alpha04

Ngày 7 tháng 5 năm 2025

Phát hành androidx.xr.arcore:arcore:1.0.0-alpha04. Phiên bản 1.0.0-alpha04 bao gồm các thay đổi sau.

Thay đổi về API

  • Các dự án được phát hành bằng Kotlin 2.0 yêu cầu KGP 2.0.0 trở lên để sử dụng. (Idb6b5)
  • TrackingStateHandJointType đã được di chuyển từ ARCore sang Thời gian chạy.
  • Hand.State.isActive (boolean) đã được thay đổi thành Hand.State.trackingState (androidx.xr.runtime.TrackingState).
  • Anchor.load trả về Anchor.AnchorLoadInvalidUuid nếu UUID không hợp lệ.

Phiên bản 1.0.0-alpha03

Ngày 26 tháng 2 năm 2025

Phát hành androidx.xr.arcore:arcore:1.0.0-alpha03 mà không có thay đổi đáng kể nào kể từ bản phát hành alpha gần đây nhất. Phiên bản 1.0.0-alpha03 bao gồm các thay đổi sau.

Phiên bản 1.0.0-alpha02

Ngày 12 tháng 2 năm 2025

Phát hành androidx.xr.arcore:arcore:1.0.0-alpha02. Phiên bản 1.0.0-alpha02 bao gồm các thay đổi sau.

Tính năng mới

  • Đã thêm tính năng hỗ trợ theo dõi cử động của tay. Sử dụng Hand.leftHand.right để truy cập vào thông tin theo dõi.
  • Các API tạo neo (Anchor.create, Anchor.load, Plane.createAnchor) hiện đều trả về AnchorCreateResult và triển khai đúng cách AnchorCreateResourcesExhausted.

Sửa lỗi

  • Anchor.detach không còn gây ra lỗi nghiêm trọng do tình huống tương tranh với luồng cập nhật Phiên.
  • Anchor.create ổn định hơn khi chạy trên trình mô phỏng

Phiên bản 1.0.0-alpha01

Ngày 12 tháng 12 năm 2024

Phát hành androidx.xr.arcore:arcore-* 1.0.0-alpha01.

Các tính năng của bản phát hành ban đầu

Lấy cảm hứng từ thư viện ARCore hiện có, thư viện ARCore cho Jetpack XR cung cấp các khả năng để kết hợp nội dung kỹ thuật số với thế giới thực. Thư viện này bao gồm tính năng theo dõi chuyển động, neo liên tục, kiểm tra lượt truy cập và xác định mặt phẳng bằng cách gắn nhãn ngữ nghĩa (ví dụ: sàn nhà, tường và mặt bàn). Xem hướng dẫn dành cho nhà phát triển để tìm hiểu thêm về cách làm việc với ARCore cho Jetpack XR.

  • Session: ARCore cho Jetpack XR sử dụng Thời gian chạy Jetpack XR ở chế độ nền để cung cấp chức năng. Bạn sẽ sử dụng Phiên để tương tác với hầu hết các API ARCore cho Jetpack XR, vì vậy, vui lòng xem tài liệu của API này.

  • Plane: Sử dụng mặt phẳng để hiểu thế giới xung quanh bạn. Mỗi mặt phẳng có một Label mô tả mặt phẳng đó về mặt ngữ nghĩa. Bạn có thể sử dụng subscribe để được thông báo về các mặt phẳng được phát hiện gần đây nhất hoặc state để được thông báo về những thay đổi đối với một mặt phẳng cụ thể.

  • Anchor: Đường liên kết giữa một đối tượng ảo và một vị trí trong thế giới thực. Bạn có thể đính kèm neo vào một vị trí cụ thể trong không gian (sử dụng create) hoặc một Trackable (sử dụng createAnchor).

    • Bạn có thể sử dụng lại neo trên nhiều phiên. Bạn có thể sử dụng persist để lưu trữ, getPersistedAnchorUuids để liệt kê và load để truy xuất. Hãy nhớ unpersist các neo này sau khi không còn sử dụng.

    • Neo có khả năng tương tác giữa ARCore cho Jetpack XR và Jetpack SceneCore. Bạn có thể tạo AnchorEntity bằng một neo hoặc nếu đã có AnchorEntity, bạn có thể sử dụng getAnchor để truy xuất neo hỗ trợ của neo đó.

    • Cung cấp các tương tác tự nhiên của người dùng bằng cách sử dụng hitTest. hitTest sử dụng Ray để xác định nội dung mà nó giao nhau và tạo Anchor từ vị trí đó. Cân nhắc tiến hành hitTest từ một InputEvent.

Lỗi đã biết

  • Có thể sẽ có một khoảng thời gian trễ giữa việc gọi unpersist và việc UUID của nó bị xoá khỏi kết quả do getPersistedAnchorUuids trả về.

  • create sẽ không xác thực rằng hệ thống có đủ tài nguyên để trả về các liên kết mới. Việc tạo quá nhiều neo có thể dẫn đến lỗi.

  • Hiện không hỗ trợ việc duy trì một Neo đã được duy trì và huỷ duy trì trước đó.

  • Chúng tôi hỗ trợ việc sử dụng trong trình mô phỏng, nhưng hành vi có thể không ổn định như khi chạy trên một thiết bị thực. Cụ thể, các lệnh gọi đến create có thể không thành công do lỗi mã gốc và chấm dứt ngay hoạt động.

  • Trong một số trường hợp, RuntimeException có thể bị ném nhầm khi gọi persist bằng thông báo "Anchor was not persisted" (Không duy trì được neo). Trong những trường hợp đó, hàm vẫn sẽ thành công và neo sẽ được duy trì. Bạn nên gói lệnh gọi đến persist bằng một khối try để khắc phục vấn đề này.