2020년 8월, Google Play AR 서비스 (ARCore)에서는 일부 64비트 기기에서 32비트 전용 앱 지원이 삭제되었습니다. 나머지 64비트 기기에서 32비트 전용 ARCore 지원 앱 지원은 향후 ARCore 출시에서 예고 없이 삭제될 수 있습니다. 32비트 기기에서 실행되는 32비트 전용 ARCore 지원 앱은 영향을 받지 않으며 계속 지원됩니다.
32비트 전용 버전 (예: armeabi-v7a
) 버전의 SDK를 사용하는 경우 64비트 기기용 64비트 (arm64-v8a
) 버전을 게시하지 않는 경우 앱을 64비트 기기와 호환되는 64비트 버전으로 업데이트해야 합니다.
업데이트되지 않은 32비트 전용 ARCore 지원 앱은 ARCore 세션을 생성하지 못하며, 영향을 받는 64비트 기기에서 증강 현실(AR) 세션을 시작하려고 할 때 비정상 종료될 수 있습니다.
앱의 AndroidManifest.xml
에서 android:use32bitAbi="true"
속성을 설정하면 앱에서 32비트 라이브러리만 사용합니다. 앱의 모든 AR 환경은 32비트 모드에서 ARCore를 사용하려고 합니다. 그러나 32비트 라이브러리는 일부 64비트 기기의 Google Play AR 서비스 서비스에 없습니다. 이러한 라이브러리가 없으면 앱이 ARCore 세션을 만들지 못하고 영향을 받는 64비트 기기에서 증강 현실 (AR) 세션을 시작하려고 할 때 비정상 종료될 수 있습니다. 이는 WebView 구성요소 내 네이티브 AR 환경과 WebXR 기반 AR 환경 모두에 영향을 미칩니다.
Google Play 스토어 64비트 요구사항
이전 섹션에서 설명한 ARCore 64비트 요구사항은 Android 버전 및 API 수준과 관계없이 모든 64비트 기기에 적용됩니다. 이 요구사항은 별개이며 2019년 8월 1일에 적용된 Google Play 64비트 요구사항과는 관련이 없습니다. 이 요구사항은 앱 출시 수준에서 평가되며 Android 9 Pie (API 수준 28) 이상을 실행하는 기기에 배포되는 APK 또는 App Bundle에만 적용됩니다.
ARCore ABI 지원 이해
ARCore를 사용하면 다음 Android ABI를 지원하는 앱을 빌드할 수 있습니다.
32비트 (예:
armeabi-v7a
) 및 실제 ARCore 지원 기기를 타겟팅하는 64비트 (arm64-v8a
) 앱Android Emulator 내에서 실행되는 32비트 (
x86
) 및 64비트 (x86_64
) 앱
ARCore 지원 앱을 빌드하면 Android 빌드 시스템에는 앱에서 타겟팅하는 Android ABI용 ARCore 네이티브 라이브러리 (lib/…/libarcore_sdk*.so
)가 하나 이상 포함됩니다.
이전에는 32비트 전용 ARCore 지원 앱이 32비트 및 64비트 기기 모두에서 실행될 수 있었습니다. 2020년 8월 Google Play AR 서비스 (ARCore)는 일부 64비트 기기에서 32비트 네이티브 라이브러리 포함을 중단했으며 그 당시 32비트 전용 ARCore 지원 앱은 더 이상 영향을 받는 64비트 기기에서 실행할 수 없었습니다. 향후 버전에서는 32비트 전용 ARCore 지원 앱 지원이 나머지 64비트 기기에서 예고 없이 삭제될 수 있습니다.
특히 다음과 같이 업데이트되지 않은 32비트 전용 ARCore 지원 앱은 세션 생성에 실패하고 영향을 받는 64비트 기기에서 증강 현실 (AR) 세션을 시작하려고 할 때 비정상 종료될 수 있습니다.
ARCore SDK | 세션 생성 실패 세부정보 |
---|---|
Android용 ARCore SDK (NDK) |
ArSession_create 및 ArSession_createWithFeatures 는 AR_ERROR_FATAL 를 반환합니다.
|
Android용 ARCore SDK (자바) |
세션 생성자 Session(Context) 및 Session(Context, Set<Session.Feature>) 에서 FatalException 이 발생합니다.
|
Unity용 ARCore SDK |
일반적으로 ARCore 기기 프리패브에서 찾을 수 있는 ARCoreSession 구성요소를 사용 설정하면 ARCore에서 ARCore 세션 생성에 실패하고 Session.Status 가 SessionStatus.FatalError 가 됩니다.
|
AR Foundation (Unity) + ARCore XR 플러그인 |
존재하지 않는 32비트 ARCore 네이티브 라이브러리를 로드하려고 시도하는 동안 기본 스레드에서 비정상 종료가 발생하므로 앱이 AR 세션을 시작하려고 하면 렌더링 (검은색 화면)이 중지됩니다. |
앱 업데이트 필요 여부 결정
게시된 앱에 64비트 기기를 지원하는 데 필요한 네이티브 ARCore 라이브러리가 포함되어 있는지 확인하려면 다음 단계를 따르세요.
Google Play Console을 엽니다.
ARCore 지원 앱을 선택합니다.
앱의 활성 버전을 확장하여 네이티브 플랫폼에 64비트 (
arm64-v8a
) 지원이 포함되어 있는지 확인합니다.
64비트 기기를 지원하도록 앱 업데이트
64비트 네이티브 라이브러리를 포함하도록 기존의 32비트 전용 ARCore 지원 앱을 업데이트하는 방법은 다음과 같습니다.
최신 ARCore SDK를 사용하도록 프로젝트를 업데이트합니다.
앱을 빌드하고 Google Play Console을 사용하여 게시합니다.
Google Play는 앱이 이전에 2019년 8월 1일에 적용된 Google Play 스토어 64비트 요구사항을 충족하는지 확인합니다. ARCore 지원 앱이 Android 버전이나 API 수준과 관계없이 모든 64비트 기기를 위한 64비트 (arm64-v8a
) 지원을 포함하도록 하려면