Android 11에는 개발자 옵션에 새로운 '앱 호환성' 설정이 제공되어 앱 개발자가 플랫폼 동작 변경 사항을 더 쉽게 테스트할 수 있습니다.
매년 Google I/O에서 Google은 Android의 다음 버전에 적용될 가장 흥미로운 변화 중 일부를 강조합니다. 대부분의 사용자는 자신의 경험에 영향을 미치는 시각적 변화를 기준으로 Android 버전을 판단하지만, 각 Android 업데이트에는 수많은 변경 사항도 함께 제공됩니다. API 변경 사항 그리고 플랫폼 동작. 이러한 변경 사항은 최종 사용자가 앱을 사용할 수 있는 방식을 근본적으로 변경할 수 있으므로 앱 개발자가 앱을 기록하고 준비하는 데 중요합니다. Android의 다음 버전인 Android 11을 통해 Google은 개발자 옵션의 새로운 '앱 호환성' 설정을 통해 개발자가 향후 변경 사항에 맞게 앱을 더 쉽게 테스트하고 준비할 수 있도록 할 것입니다.
Google이 새로운 Android 버전을 출시할 때마다 적극적으로 유지 관리하는 데 관심이 있는 앱 개발자는 해당 애플리케이션은 새로운 변경 사항과 이에 대한 문서를 읽어야 합니다. 변화. 그런 다음 기존 API 사용을 선택 사항일 수도 있고 선택 사항이 아닐 수도 있는 경로인 최신 API로 마이그레이션하거나 마이그레이션하려는 경우 새로운 API 기능을 추가하도록 앱을 업데이트하기로 결정할 수 있습니다. 앱 개발자는 앱의 대상 API를 즉시 업데이트할 필요는 없지만 결국에는 업데이트를 수행해야 합니다. Google Play 스토어의 대상 API 요구 사항 변경. 그런 다음 개발자는 새로운 Android 버전에서 앱을 실제로 테스트해야 하며, 이 작업은 에뮬레이트된 기기, 클라우드 호스팅 기기 또는 로컬 기기에서 수행할 수 있습니다. 테스트는 개발 루틴의 일부이지만, 주요 변경 사항이 관련되면 테스트가 더욱 중요해집니다.
또한 Google은 주요 플랫폼 동작 변경 사항을 도입하려고 할 때 새로운 Android 버전 릴리스에 변경 사항을 즉시 구현하지 않습니다. 이는 많은 앱이 중단되거나 기능이 손실되지 않도록 사용자를 보호하고 개발자가 앱을 업데이트할 수 있는 더 많은 시간을 제공하기 위한 것입니다. 예를 들어, Android 7 Nougat에서 Google은 다음과 같이 결정했습니다.
일부 암시적 브로드캐스트를 제한합니다. 배터리 수명을 절약하기 위해. 구글은 안드로이드 8 오레오를 통해 암시적 브로드캐스트 수신기를 등록하는 것이 완전히 제한된 앱. 그러나 Android 8 Oreo가 출시되기 전에 Google은 개발자가 앱이 더 이상 암시적 브로드캐스트 수신기를 등록할 수 없는 시나리오에 대비하기를 원했습니다. 이를 위해 개발자는 Android 7 Nougat에서 ADB 명령을 사용하여 암시적 브로드캐스트를 사용할 수 없는 조건을 시뮬레이션합니다.:adb shell cmd appops set RUN_IN_BACKGROUND ignore
위와 같은 ADB 명령은 Google이 앱 개발자가 Android 플랫폼 동작 변경에 따라 앱이 어떻게 작동하는지 테스트할 수 있도록 허용하는 방법의 예입니다.
또 다른 최근 사례는 Android Q 베타 2에서 Google은 개발자에게 범위 지정 저장소를 테스트하도록 요청했습니다. 다음 ADB 명령을 실행하여 해당 앱에서 다음을 실행하세요.
adb shell cmd appops set your-package-name android: legacy_storage default && \
앱 개발자는 ADB 명령에 익숙하며 이러한 플랫폼 변경 사항을 테스트하기 위해 ADB 명령을 사용하는 것을 특별히 꺼리지 않는다고 가정할 수 있습니다. 그러나 항상 개선의 여지가 있으며 Google은 이러한 변경 사항을 제어할 수 있는 간단한 UI를 도입하여 테스트 프로세스를 더 쉽게 만들고 있습니다.
새로운 PlatformCompat 프로젝트, 개발자는 더 이상 모든 새로운 플랫폼 동작 변경에 대해 ADB 명령을 실행할 필요가 없습니다. Android 11을 사용하면 Android에는 개발자 옵션 내에 ADB 셸 명령을 보낼 필요 없이 앱별로 새로운 플랫폼 동작 변경 사항을 빠르게 전환할 수 있는 새로운 하위 메뉴가 있습니다. 각 대상 API 레벨마다 다른 섹션이 있습니다. 예를 들어 API 레벨 > 29에는 전환할 수 있는 자체 동작 변경 세트가 있지만 API 레벨 > 30에는 자체 동작 세트가 있습니다. 변화.
앱 호환성 섹션(에뮬레이터에서 실행되는 소스 구축 AOSP의)을 보여주는 위 스크린샷에서 "기본값" 활성화된 변경사항' 섹션에는 대상에 관계없이 모든 앱에서 기본적으로 활성화되는 Android 11 API 변경사항이 포함되어 있습니다. SDK. 'targetSDKversion > 29에 대해 활성화됨' 섹션은 Android 11/API 수준 30을 타겟팅하는 앱에만 활성화되는 Android 11 API 변경사항입니다.
이 특별한 변화가 최종 사용자에게 직접적으로 흥미를 유발하지는 않지만 앱 개발자의 작업을 더 쉽게 만들고 이는 항상 좋은 일입니다.
XDA 인정 개발자에게 감사드립니다 luca020400 팁과 첨부된 스크린샷을 제공해 주셔서 감사합니다.
Android 11에 대한 추가 정보:
- Android 11은 마침내 비디오 녹화에 대한 Android의 4GB 파일 크기 제한을 제거할 수 있습니다.
- Android 11에서 다크 모드 예약 기능이 제공될 수 있습니다.
- Android 11 R부터 비행기 모드가 마침내 Bluetooth 오디오 종료를 중지할 수 있음
- Google은 Android 11에서 Android의 AsyncTask API를 더 이상 사용하지 않습니다.
- Google은 파일 관리자 개발자가 Android 11에서 광범위한 파일 저장소에 액세스할 수 있도록 양식을 제출하도록 할 예정입니다.
- Android 11은 마침내 적절한 기본 무선 ADB 구현을 가져올 수 있습니다.