Android 11 матиме нове налаштування «Сумісність програм» у параметрах розробника, що полегшить розробникам програм тестування змін у поведінці платформи.
Щороку на Google I/O Google висвітлює деякі з найцікавіших змін, які відбудуться в наступній версії Android. У той час як більшість користувачів судять про версії Android за візуальними змінами, які впливають на їхній досвід, кожне оновлення Android також містить масу зміни в API і поведінка платформи. Розробникам програм важливо взяти до уваги ці зміни та підготувати до них свої програми, оскільки вони можуть кардинально змінити способи використання їхніх програм кінцевими користувачами. З наступною версією Android, Android 11, Google полегшить розробникам тестування та підготовку своїх програм до майбутніх змін за допомогою нового параметра «Сумісність програм» у параметрах розробника.
Кожного разу, коли Google випускає нову версію Android, розробники додатків, які зацікавлені в цьому, активно її підтримують їхні додатки повинні ознайомитися з новими змінами та документацією, яка до них додається зміни. Потім вони можуть вирішити оновити свою програму, щоб додати ці нові функції API, якщо вони хочуть, або перенести використання існуючих API на новіші API, шлях, який може бути або не бути необов’язковим. Розробникам додатків не потрібно негайно оновлювати цільовий API своїх додатків, але вони повинні зробити це з часом, щоб відповідати
зміна цільових вимог API магазину Google Play. Після цього розробникам також потрібно фактично протестувати свою програму на новій версії Android, і це можна зробити на емульованому пристрої, пристрої, розміщеному в хмарі, або локальному пристрої. Тестування є частиною рутини розробки, але тестування стає ще важливішим, коли вносяться серйозні зміни.Крім того, коли Google хоче запровадити значні зміни в поведінці платформи, вони не відразу впроваджують зміни в новій версії Android. Це має на меті захистити користувачів від того, що більшість їхніх додатків виходить з ладу та втрачає функціональність, а також дає розробникам більше часу для оновлення своїх додатків. Наприклад, в Android 7 Nougat Google вирішив обмежити деякі неявні трансляції щоб заощадити час роботи акумулятора. З Android 8 Oreo, Google повністю заборонив програмам реєструвати неявні приймачі широкомовлення. Але перед випуском Android 8 Oreo Google хотіла, щоб розробники підготувалися до сценарію, коли їхні програми більше не зможуть реєструвати неявні приймачі широкомовлення. А для цього розробники могли використовуйте команду ADB в Android 7 Nougat для симуляції стану, коли неявні трансляції недоступні:
adb shell cmd appops set RUN_IN_BACKGROUND ignore
Команди ADB, такі як наведена вище, є прикладом того, як Google дозволяє розробникам програм перевірити, як їхні програми поводитимуться за змін у поведінці платформи Android.
Ще один нещодавній приклад: як в Android Q Beta 2 Google попросив розробників протестувати Scoped Storage у своїх програмах, виконавши цю команду ADB:
adb shell cmd appops set your-package-name android: legacy_storage default && \
Як розробник додатків, можна припустити, що вам зручно працювати з командами ADB і ви не проти використовувати їх для тестування цих змін платформи. Але завжди є місце для вдосконалення, і Google полегшує цей процес тестування, запроваджуючи простий інтерфейс користувача для керування цими змінами.
З новим Проект PlatformCompat, розробникам більше не потрібно запускати команди ADB для кожної зміни поведінки нової платформи. З Android 11 Android матиме нове підменю в Параметрах розробника для швидкого перемикання нових змін у поведінці платформи для кожної програми без необхідності надсилати будь-які команди оболонки ADB. Для кожного цільового рівня API будуть різні розділи – наприклад, рівень API > 29 матиме власний набір змін поведінки, які можна перемикати, тоді як рівень API > 30 матиме власний набір зміни.
На знімку екрана вище, де показано розділ «Сумісність програм» (з AOSP, створеного на основі вихідного коду, що працює на емуляторі), «За замовчуванням Розділ «Увімкнені зміни» містить зміни API Android 11, які за замовчуванням буде ввімкнено в усіх програмах, незалежно від їхньої мети. SDK. Розділ «увімкнено для targetSDKversion > 29» містить зміни в API Android 11, які ввімкнено лише для додатків, націлених на рівень Android 11/API 30.
Хоча ця конкретна зміна не зацікавить кінцевих користувачів, вона спростить роботу розробників програм, і це завжди добре.
Завдяки визнаному розробнику XDA luca020400 за підказку та надання знімка екрана, який додається.
Додаткові відомості про Android 11:
- Android 11 може нарешті скасувати обмеження Android на розмір файлу 4 ГБ для відеозаписів
- Темний режим планування може з’явитися в Android 11
- Починаючи з Android 11 R, режим польоту може нарешті припинити вимикати аудіо Bluetooth
- Google припиняє підтримку Android AsyncTask API в Android 11
- Google змусить розробників файлового менеджера надсилати форму, щоб отримати широкий доступ до сховища файлів в Android 11
- Android 11 може нарешті запропонувати правильну власну реалізацію Wireless ADB