게시자: Edward Cunningham, Android 제품 관리자
[편집: 12월 21일에 업데이트된 게시물은 2019년 8월에 64비트 요구사항 도입 시 32비트 지원이 중단되지 않는다는 점을 명확히 하기 위한 것입니다. 32비트 라이브러리를 포함한 앱은 단지 64비트 버전도 있으면 될 뿐입니다.]
Google Play는 매년 수십억 개의 앱 설치 및 업데이트를 지원합니다. 좋아하는 앱과 게임을 아무런 문제 없이 검색하고 설치할 수 있는 환경을 보장하기 위해 지속적으로 보안과 성능에 중점을 두고 있습니다. 이 목표를 지원하기 위해 고안된 3가지 변경 사항에 대해 미리 알려드리면서, 각 변경 사항의 이유와 장기적으로 안드로이드 기기를 더욱 안전하고 효율적으로 만드는 데 도움이 되는 방법도 설명하겠습니다.
- 2018년 하반기에 Google Play는 새 앱과 앱 업데이트 시 최신 Android API 레벨을 대상으로 지정하도록 요구할 것입니다. 2018년 8월에 새 앱에 대해, 그리고 2018년 11월에 기존 앱의 업데이트에 대해 이를 요구할 것입니다. 이는 보안 및 성능에 최적화된 최신 API를 기반으로 앱을 빌드하도록 보장하기 위한 것입니다.
- Google Play는 2019년 8월에 네이티브 라이브러리를 포함한 새 앱과 앱 업데이트에서 32비트 버전 외에 64비트 버전도 제공하도록 요구할 것입니다.
- 또한, 2018년 초에 앱의 진위 여부를 더 확실히 확인할 수 있도록 각 APK 상단에 소량의 보안 메타데이터를 추가할 예정입니다. 이러한 변경 사항에 대해 따로 어떤 조치도 취할 필요는 없습니다.
Google의 개발자 에코시스템에서 활약하는 개발자들께 깊이 감사드리며, 이 긴 사전 고지가 앱 출시 계획에 도움이 되기를 바랍니다. 개발자 여러분이 준비하는 데 도움이 되도록 주요 날짜별로 지속적으로 변경 사항에 관한 내용을 알리고, 개발자 리소스를 공유할 예정입니다.
2018년 후반부터 API 레벨 대상 지정 요구사항
API 동작 변경으로 개발자가 앱의 보안을 유지하고 사람들을 멀웨어로부터 보호할 수 있도록 안드로이듸 보안 및 개인정보 보호 기능이 향상됩니다. 다음은 최신 플랫폼 버전의 몇 가지 변경 사항입니다.
변경 사항 중 많은 부분은
targetSdkVersion 매니페스트 속성을 통해 새로운 API 동작에 대한 지원을 명시적으로 선언하는 앱에만 적용됩니다. 예를 들어 23(Android 6.0의 API 레벨) 이상의 targetSdkVersion을 사용하는 앱만 런타임 권한을 적용받으며, 런타임 권한을 통해 사용자 정보에 액세스할 수 있습니다. 마찬가지로, 최신 버전에는 실수로 배터리 및 메모리와 같은 리소스를 과도하게 사용하는 것을 방지하는 사용자 환경 개선 기능이 포함되어 있습니다.
백그라운드 실행 제한은 이러한 개선 유형의 좋은 예입니다.
사용자에게 가능한 최고의 안드로이드 환경을 제공하기 위해, Google Play Console은 앱이 최신 API 레벨을 대상으로 지정하도록 요구할 것입니다.
- 2018년 8월: 새 앱에서 API 레벨 26(Android 8.0) 이상을 대상으로 지정해야 합니다.
- 2018년 11월: 기존 앱 업데이트에서 API 레벨 26 이상을 대상으로 지정해야 합니다.
- 2019년 이후: 매년 targetSdkVersion 요구사항이 향상될 것입니다. 새 안드로이드 디저트 출시 이후 1년 이내에 새 앱 및 앱 업데이트에서 해당 API 레벨 이상을 대상으로 지정해야 합니다.
업데이트를 수신하지 않는 기존 앱은 영향을 받지 않습니다. 개발자는
minSdkVersion을 자유롭게 선택하여 사용할 수 있으므로, 이전 안드로이드 버전용 앱을 전과 같이 문제 없이 빌드할 수 있습니다. 개발자는 최대한 합리적으로 이전 버전과의 호환성을 제공하는 것이 좋습니다. 향후 안드로이드 버전에서는 최신 API 레벨을 대상으로 지정하지 않고 성능이나 보안에 부정적인 영향을 미치는 앱도 제한할 것입니다. 우리는 앱 에코시스템의 단편화를 선제적으로 줄이고 앱의 보안과 성능을 보장하면서도, 개발자가 미리 계획을 세울 수 있도록 충분한 기간과 다양한 알림을 제공하고자 합니다.
올해는 역대 안드로이드 버전 중 최고의 보안과 성능을 자랑하는 Android Oreo를 출시했으며, 최신 버전이 기기에 더 빨리 적용될 수 있도록
Project Treble을 도입했습니다. 오늘 바로
안드로이드 8.1 Oreo를 대상으로 지정하는 앱의 빌드를 시작해보세요.
2019년 64비트 지원 요구사항
안드로이드 5.0에서 64비트 아키텍처에 대한 플랫폼 지원이 도입되었습니다. 현재 온라인에서 사용되는 안드로이드 기기의 40% 이상이 32비트 호환성을 계속 유지하면서 64비트를 지원합니다. 네이티브 라이브러리를 사용하는 앱의 경우, 일반적으로 64비트 코드가 추가 레지스터 및 새로운 명령을 통해 훨씬 뛰어난 성능을 제공합니다.
향후 64비트 코드만 지원하는 안드로이드 기기가 등장할 것으로 예상되는 가운데, Play Console은 네이티브 라이브러리를 포함한 새 앱과 앱 업데이트에서 32비트 버전 외에 64비트 버전도 제공하도록 요구할 것입니다. 이는 단일 APK 내에 또는
여러 APK 중 하나로 게시될 수 있습니다.
32비트 지원을 중단하지는 않을 것입니다. Google Play에서는 32비트 앱과 기기를 계속 지원할 것입니다. 네이티브 코드를 포함하지 않은 앱에는 아무런 영향도 없습니다.
이 변경 사항은 2019년 8월에 적용할 예정입니다. 현재 64비트를 지원하지 않지만 전환을 계획 중인 개발자가 충분한 시간을 할애할 수 있도록 사전에 공지해드릴 것입니다. 안드로이드 64비트 네이티브 라이브러리의 성능상 이점에 대해 심층적으로 다룰 향후 게시물을 기대해 주세요. NDK에 대한 자세한 내용은
CPU 및 아키텍처 가이드를 참조하세요.
2018년 초 보안 메타데이터
내년에는 Google Play에서 공식적으로 배포했는지 확인하기 위해 각 APK 상단에 소량의 보안 메타데이터를 추가할 예정입니다. 대개 실제 제품을 구매할 때는 제품의 신뢰성을 나타내는 공식 레이블이나 배지를 찾으실 겁니다. APK에 추가하는 메타데이터는 안드로이드 앱의 Play 배지와 같습니다.
개발자나 사용자가 별도로 취할 조치는 없습니다.
APK Signing Block에 삽입되고 앱의 기능을 변경하지 않는 소량의 메타데이터 추가를 감안하여 Play의 최대 APK 크기를 조정할 예정입니다. Play의 모바일 앱 에코시스템의 무결성 개선과 더불어, 이 메타데이터는 향후 개발자에게 새로운 배포 기회를 제공하고 더 많은 사람들이 앱을 최신 상태로 유지할 수 있도록 지원할 것입니다.
전망
2017년은 Google Play에서 성장과 성공을 거둔 개발자에게는 환상적인 한 해였습니다. 우리는 앱 품질과 비즈니스 성과를 향상시키는 데 도움이 되는 기능(
I/O 2017 및
Playtime에 발표된 기능 포함)을 개발하기 위해 열심히 일했습니다. 이러한 기능과 향후 업데이트를 통해 2018년 이후 안드로이드 및 Play 에코시스템이 계속 번성하리라 기대합니다.