2022 年 11 月,Google Play 服務 - AR 適用將移除與 NDK 相機圖像和中繼資料相關的已淘汰方法。
如果應用程式在受影響的 ARCore SDK 版本中使用這些方法,在使用者更新 Google Play 服務 - AR 後,可能會開始出現不同情況或停止運作。
受影響的應用程式
自 2022 年 11 月起,如果符合下列情況,當使用者更新至最新版的 Google Play 服務 - AR 適用,您的應用程式可能會停止運作或當機:
- 透過受影響的 SDK 編譯應用程式
- 您的應用程式會使用下列任一受影響的 API:
如果您的應用程式是使用 編譯的 ARCore SDK 版本… |
並使用受影響的 API… | 2022 年 11 月開始的破壞行為 |
---|---|---|
1.19.0 以下版本 | Frame.getImageMetadata() |
擲回 IllegalArgumentException 。 |
1.10.0 以下版本 | Frame.acquireCameraImage() |
傳回 0x0 大小的圖片。 |
修正受影響的應用程式
2022 年 11 月起,受影響的應用程式可能會中斷。為避免這種情況發生,請使用最新的 ARCore SDK 重新建構應用程式。您必須至少升級至 ARCore SDK 1.20.0 以上版本。
確認受影響的應用程式已修正
請先模擬 2022 年 11 月的變更,為應用程式的 AndroidManifest.xml
新增特殊 meta-data
項目,以便測試應用程式:
- 確認已在目標裝置上安裝 Play 服務 - AR 適用 1.29.0 以上版本。
在應用程式的
AndroidManifest.xml
檔案中,將新的<meta-data>
標記新增為現有<application>
元素的子項:<application …> … <!-- Simulate the November 2022 changes in advance. IMPORTANT: Remove this tag when testing is completed. Do not include this tag in published versions of your app. --> <meta-data android:name="com.google.ar.core.session_settings" android:value="camera_stack_option,unified_mono" /> </application>
測試應用程式,確認所有 ARCore 功能均正常運作。
測試完成後,請移除
<meta-data>
標記。如果在已發布的應用程式中保留這個標記,日後可能會發生非預期的行為。
如果應用程式正常運作,表示應用程式已準備好因應 2022 年 11 月的異動。
時間軸
期間 | 活動 |
---|---|
2020 年 11 月 (ARCore SDK 1.20.0 版) |
淘汰原生 API。 更新實作方式,使用其他原生 API。 |
2021 年 11 月 | 由於 Google Play 服務 - AR 適用版本將於 2022 年 11 月移除受影響的 API 實作,因此將另行宣布日後的重大異動。 |
2022 年 11 月 |
從 Google Play 服務 - AR 適用中移除受影響 API 的實作項目。 針對使用 1.20.0 以下版本 ARCore 的應用程式,引入破壞性變更。 |