Android P에서 적용 될 non-SDK 제한에 대한 업데이트

Android P에서 적용 될 non-SDK 제한에 대한 업데이트
이 글은 https://android-developers.googleblog.com/2018/06/an-update-on-non-sdk-restrictions-in.html 에 올려진 글을 개인적인 공부를 위해 번역 한 글입니다.
혹시 오역을 발견하시면 kimhc999@gmail.com으로 알려주시면 감사하겠습니다.

Android에서 사용자와 개발자에게 최고의 경험을 제공하는 것을 매우 중요하게 생각합니다. OS가 업데이트 될 때 마다 추가되는 새로운 기능을 사용하여 사용자에게 좋은 기능을 제공할 수 있습니다. 하지만, 몇몇 개발자들 non-SDK 인터페이스를 사용하고, 이는 사용자 휴대폰에서 크래시를 일으키고, 개발자들에게는 긴급패치를 할 수 밖에 없게 합니다. 우리는 이런 상황에서 개발자들을 돕고 싶습니다.
세 달 전에 Android P에서 non-SDK 인터페이스에 대한 사용을 제한하겠다는 계획을 발표했습니다. 이러한 제한 사항이 제품 개발 계획에 영향을 미칠 수 있음을 알고 있습니다. non-SDK 인터페이스 사용여부를 확인할 수 있는 툴을 사용 해 주세요. 새로운 정채을 적용하면서 피드백을 주세요.
Developer Preview와 Beta 1를 통해, 이러한 제약 사항이 앱에 미치는 영향을 추가로 제공했습니다. Developer Preview에서 제한된 API들을 사용하게 되면 로그와 토스트 메시지로 표시되고, Beta1에서는 프로그래밍 방식으로 이러한 제한사항을 찾아서 자체 로깅을 할 수 있는 StrictMode 정책을 제공합니다. 예를 들면 아래와 같습니다.


non-SDK 인터페이스를 사용할 수 밖에 없는 수 많은 이유들이 있음을 알고 있으며, 이를 개선하기 위해 노력 할 예정입니다. non-SDK 인터페이스를 사용할 수 밖에 없는 이유를 이해하기 때문에, 몇몇 안드로이드 non-SDK 인터페이스를 greylist에 추가하여 제한을 해제 했습니다. 또한 Google 팀은 수백만 개의 앱을 정적 분석하고 내부 및 외부 베타 테스터에 의해 자동으로 송신 된 보고서들을 처리했습니다. 이 분석에 의하면, 앱들이 greylist에 의존하는 non-SDK 인터페이스들이 추가적으로 있음을 알게 되었습니다. 그레이리스트에 있는 모든 기능들을 공식 SDK에서 대체해서 제공하기 위해 조사 할 예정입니다. 하지만, 우리가 놓친 non-SDK 인터페이스가 있을수도 있기 때문에, Android Oreo 이하를 target SDK로 하는 경우 non-SDK 인터페이스도 이용 할 수 있게 유지 해 두었습니다.
요악하자면, Android에서 실행되는 앱에는 non-SDK 인터페이스 제한이 적용 될 예정입니다. Android P을 target SDK로 설정할 경우, greylist에 등록된 non-SDK 인터페이스의 경우 사용이 가능하지만, greylist에 등록되지 않은 non-SDK 인터페이스의 경우 사용을 제한됩니다. Android Oreo 또는 그 이하를 target SDK로 설저하게 되면, 대부분의 제한이 적용되지 않지만, greylist에 없는 non-SDK 인터페이스를 사용 할 경우 logcat에서 경고로 표시됩니다. (사용자에게는 이 경고가 보이지 않을 것입니다.)

새로운 Beta 2 릴리즈를 사용해서 StrictMode를 사용해 사용 중인 non-SDK 인터페이스를 확인 해 보세요. 베타 2가 SDK가 아닌 인터페이스 사용을 위해 최종 릴리스에서 구현하는 것과 밀접하게 일치해야합니다. 또한 FAQ를 한번 봐 주세요. 이번 기능에 대한 대부분의 질문에 대한 답을 볼 수 있습니다. 질문에 대한 답을 못 찾는다면, 알려주세요.

댓글

이 블로그의 인기 게시물

Offline TimeZone Convert Privacy Policy

6자리 우편번호 Privacy Policy

Socket.IO 시작하기