Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ для Xiaomi: ΠΎΡ‚ ΠΈΠ΄Π΅ΠΈ Π΄ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнного Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° для устройств Xiaomi β€” это ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ способ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс MIUI ΠΏΠΎΠ΄ свои Π½ΡƒΠΆΠ΄Ρ‹ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для тысяч ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ экран ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ: ΠΎΡ‚ ΠΏΠΎΠ³ΠΎΠ΄Ρ‹ ΠΈ курса Π²Π°Π»ΡŽΡ‚ Π΄ΠΎ управлСния ΡƒΠΌΠ½Ρ‹ΠΌ Π΄ΠΎΠΌΠΎΠΌ ΠΈΠ»ΠΈ быстрого доступа ΠΊ функциям прилоТСния. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ стандартных ΠΈΠΊΠΎΠ½ΠΎΠΊ, Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· открытия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ вСсь процСсс β€” ΠΎΡ‚ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π² Mi App Store. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ инструмСнты понадобятся, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Android Widget API, Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΠΎΠ΄ MIUI, Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… модСлях Xiaomi (ΠΎΡ‚ Redmi Note Π΄ΠΎ Mi 14) ΠΈ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок. ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΠΈΠΌ нюансам, связанным с ограничСниями производитСля ΠΈ особСнностями ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ.

Π’Π°ΠΆΠ½ΠΎ: процСсс создания Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ Kotlin/Java ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Android Studio. Если Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ писали прилоТСния ΠΏΠΎΠ΄ Android, Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ с изучСния основ β€” Π±Π΅Π· этого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡ€Π°ΠΉΠ½Π΅ слоТно. Для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» станСт руководством ΠΏΠΎ Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ экосистСму Xiaomi.

πŸ“Š Для ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Xiaomi Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚?
Redmi Note 12/13
Mi 14/13
POCO F5/X5
Π”Ρ€ΡƒΠ³ΠΎΠΉ смартфон
ΠŸΠ»Π°Π½ΡˆΠ΅Ρ‚ Xiaomi

1. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½ Π½Π° Xiaomi

Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ (ΠΎΡ‚ Π°Π½Π³Π». widget) β€” это ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ отобраТаСтся прямо Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ экранС смартфона. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΈΠΊΠΎΠ½ΠΎΠΊ, Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚:

  • πŸ“Š ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (ΠΏΠΎΠ³ΠΎΠ΄Π°, курс Π²Π°Π»ΡŽΡ‚, статистика Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ).
  • πŸ”§ ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ быстрыС дСйствия (Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½Π°Ρ€ΠΈΠΊ, Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΡƒΠΌΠ½Ρ‹ΠΌΠΈ устройствами).
  • 🎨 ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΡΡ‚ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Ρ†Π²Π΅Ρ‚Π°, стиля отобраТСния).
  • πŸ”„ ΠžΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ автоматичСски Π±Π΅Π· Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

На Xiaomi Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ MIUI, которая Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ свои ограничСния. НапримСр, Π½Π΅ всС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° экранах с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ FHD+ ΠΈΠ»ΠΈ 2K, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΊΠ°ΠΊ доступ ΠΊ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌ) Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, возмоТности кастомизации здСсь ΡˆΠΈΡ€Π΅, Ρ‡Π΅ΠΌ Π½Π° "Π³ΠΎΠ»ΠΎΠΌ" Android.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ стоит ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ для Xiaomi?

  • πŸ“± Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ аудитория: Xiaomi Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚ΠΎΠΏ-3 ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°ΠΌ смартфонов Π² ΠΌΠΈΡ€Π΅ (Π΄Π°Π½Π½Ρ‹Π΅ Counterpoint Π·Π° 2023 Π³ΠΎΠ΄).
  • πŸ› οΈ Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ MIUI: ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ нСстандартныС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 4Γ—2 ΠΈΠ»ΠΈ 2Γ—4).
  • πŸ’‘ Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ с экосистСмой: Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Mi Home, Mi Fit ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ сСрвисами Π±Ρ€Π΅Π½Π΄Π°.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π½Π° Xiaomi с MIUI 14+ ΠΌΠΎΠ³ΡƒΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ систСмой бСзопасности, Ссли ΠΎΠ½ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° доступ ΠΊ SMS, Π·Π²ΠΎΠ½ΠΊΠ°ΠΌ ΠΈΠ»ΠΈ Π³Π΅ΠΎΠ»ΠΎΠΊΠ°Ρ†ΠΈΠΈ Π±Π΅Π· вСской ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹. ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ Mi Developer Console.

2. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° инструмСнтов: Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ для Xiaomi, Π²Π°ΠΌ понадобится:

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ НазначСниС Π“Π΄Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ
Android Studio (вСрсия 2022.3+) Основная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для написания ΠΊΠΎΠ΄Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈ Π΅Π³ΠΎ тСстирования. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт
Mi Developer Account НСобходим для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π² Mi App Store ΠΈ получСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ API. dev.mi.com
Xiaomi ADB/Fastboot Tools Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½Π° физичСских устройствах (Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ°, установка APK). XDA Developers
Figma ΠΈΠ»ΠΈ Adobe XD Π”ΠΈΠ·Π°ΠΉΠ½ ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ Π³Π°ΠΉΠ΄Π»Π°ΠΉΠ½ΠΎΠ² MIUI. figma.com

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

  1. УстановитС Android Studio ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ Kotlin/Java.
  2. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ MIUI SDK (Ссли ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ экосистСмы Xiaomi).
  3. Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Xiaomi (потрСбуСтся паспорт для Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ).
  4. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ тСстовоС устройство (Redmi, POCO ΠΈΠ»ΠΈ Mi) Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ (Настройки β†’ О Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅ β†’ ВСрсия MIUI β†’ 7 Ρ€Π°Π· Ρ‚Π°ΠΏΠ½ΡƒΡ‚ΡŒ для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°).

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Android Studio 2022.3+

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ MIUI SDK (ΠΏΡ€ΠΈ нСобходимости)

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Mi Developer Console

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ устройство Xiaomi Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с шаблоном Widget-->

Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ для ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для управлСния Mi Smart Band ΠΈΠ»ΠΈ Π»Π°ΠΌΠΏΠ°ΠΌΠΈ Yeelight), Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ потрСбуСтся:

  • πŸ”‘ API-ΠΊΠ»ΡŽΡ‡ΠΈ ΠΎΡ‚ Mi Home Open API (Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°).
  • πŸ“‘ Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Xiaomi MiIo для взаимодСйствия с устройствами ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ MiIo.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: На устройствах с MIUI Global Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ API ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Ρ‹. Для тСстирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΡƒ MIUI China ΠΈΠ»ΠΈ EU ROM (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ xiaomi.eu).

3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°: шаг Π·Π° шагом

Рассмотрим процСсс Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ простого Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄Π°Ρ‚Ρƒ ΠΈ врСмя. Π­Ρ‚ΠΎΡ‚ шаблон ΠΌΠΎΠΆΠ½ΠΎlater Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Π΄ΠΎ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ΅Ρ€Π° ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€Π° Π·Π°Π΄Π°Ρ‡.

Π¨Π°Π³ 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Android Studio

  1. ЗапуститС Android Studio ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ New Project β†’ Widget.
  2. Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, com.example.miwidget).
  3. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Android 8.1 (API 27) β€” это Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ устройств Xiaomi.

Π¨Π°Π³ 2. Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° widget_info.xml

Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» опрСдСляСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°: Ρ€Π°Π·ΠΌΠ΅Ρ€, частоту обновлСния, Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°ΠΊΠ΅Ρ‚. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΏΠΊΠ΅ res/xml ΠΈ внСситС измСнСния:

<appwidget-provider

xmlns:android="http://schemas.android.com/apk/res/android"

android:minWidth="110dp"

android:minHeight="40dp"

android:updatePeriodMillis="3600000" <-- ОбновлСниС ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 60 ΠΌΠΈΠ½ΡƒΡ‚ -->

android:initialLayout="@layout/widget_layout"

android:resizeMode="horizontal|vertical"

android:widgetCategory="home_screen">

</appwidget-provider>

Π¨Π°Π³ 3. Π”ΠΈΠ·Π°ΠΉΠ½ ΠΌΠ°ΠΊΠ΅Ρ‚Π° (widget_layout.xml)

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ConstraintLayout ΠΈΠ»ΠΈ LinearLayout для адаптивности. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для отобраТСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

<TextView

android:id="@+id/time_text"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textSize="18sp"

android:textColor="#FFFFFF"

android:background="@drawable/widget_background"/>

Π¨Π°Π³ 4. Π›ΠΎΠ³ΠΈΠΊΠ° обновлСния (Ρ„Π°ΠΉΠ» MiWidgetProvider.kt)

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊΠΎΠ΄ для обновлСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΌΠΈΠ½ΡƒΡ‚Ρƒ:

class MiWidgetProvider : AppWidgetProvider() {

override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) {

val currentTime = SimpleDateFormat("HH:mm", Locale.getDefault()).format(Date())

val views = RemoteViews(context.packageName, R.layout.widget_layout)

views.setTextViewText(R.id.time_text, currentTime)

appWidgetManager.updateAppWidget(appWidgetIds, views)

}

}

adb install -r app-debug.apk

ПослС установки Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ экран Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ (Π΄ΠΎΠ»Π³ΠΎΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ β†’ "Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹").-->

Π¨Π°Π³ 5. Адаптация ΠΏΠΎΠ΄ MIUI

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° MIUI ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π΅Π·Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ:

  • 🎨 Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ Ρ„ΠΎΠ½ (android:background="@android:color/transparent").
  • πŸ“ Π£ΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π² dp, Π° Π½Π΅ Π² px, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π»ΡΡ Π½Π° экранах с высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Mi 13 Ultra).
  • ⚑ ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ускорСниС для TextView, Ссли тСкст отобраТаСтся Ρ€Π°Π·ΠΌΡ‹Ρ‚ΠΎ (android:layerType="software").

4. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½ΠΎ настоящая ΠΌΠΎΡ‰ΡŒ раскрываСтся ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ интСрактивности. Рассмотрим, ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ:

  • πŸ”„ ОбновлСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ‚Π°ΠΏΡƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ³ΠΎΠ΄Π° ΠΏΠΎ запросу).
  • πŸ“Š Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ (для фитнСс-Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ финансовых Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ²).
  • πŸ”— БыстрыС дСйствия (ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ прилоТСния, Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ обновлСния

Π’ Ρ„Π°ΠΉΠ»Π΅ widget_layout.xml Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ:

<Button

android:id="@+id/refresh_button"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ"/>

Π’ классС MiWidgetProvider.kt ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅:

views.setOnClickPendingIntent(

R.id.refresh_button,

PendingIntent.getBroadcast(

context,

0,

Intent(context, MiWidgetProvider::class.java).setAction("REFRESH_ACTION"),

PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE

)

)

Π—Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ дСйствия Π² onReceive:

override fun onReceive(context: Context, intent: Intent) {

super.onReceive(context, intent)

if (intent.action == "REFRESH_ACTION") {

// Π›ΠΎΠ³ΠΈΠΊΠ° обновлСния Π΄Π°Π½Π½Ρ‹Ρ…

}

}

Π Π°Π±ΠΎΡ‚Π° с API

Если ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ³ΠΎΠ΄Ρƒ, курсы Π²Π°Π»ΡŽΡ‚ ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ с Π±ΠΈΡ€ΠΆΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сторонниС API. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запроса ΠΊ OpenWeatherMap:

suspend fun fetchWeather(apiKey: String, city: String): WeatherData {

val response = Retrofit.Builder()

.baseUrl("https://api.openweathermap.org/data/2.5/")

.build()

.create(WeatherApi::class.java)

.getCurrentWeather(city, apiKey)

return response.body()!!

}

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Xiaomi Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ сСтСвыС запросы Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ для Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², Ссли ΠΎΠ½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ WorkManager для пСриодичСских ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ вмСсто постоянных запросов.
Как ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ограничСния MIUI Π½Π° Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ процСссы?

Для Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ½ΠΎ часто ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, курсы ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π°Π»ΡŽΡ‚), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Foreground Service с ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ. Однако это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ систСмы ΠΎ высоком ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠΈ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° β€” Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ экрана Ρ‡Π΅Ρ€Π΅Π· BroadcastReceiver для дСйствия android.intent.action.USER_PRESENT.

5. ВСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Π½Π° устройствах Xiaomi

ВСстированиС Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… устройствах Xiaomi β€” критичСский этап, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ эмуляторы Π½Π΅ всСгда ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ MIUI. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ Ρ‡Π΅ΠΊ-листу:

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° экранах с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ FHD+ ΠΈ 2K

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π΅ обрСзаСтся ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°

ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ устройства

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ Π² настройках MIUI

Π£Π±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ энСргосбСрСТСния-->

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° РСшСниС
Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π΅ обновляСтся Блишком большой ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π² updatePeriodMillis ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° MIUI. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ AlarmManager для ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ обновлСния.
Π Π°Π·ΠΌΡ‹Ρ‚Ρ‹ΠΉ тСкст АппаратноС ускорСниС ΠΈΠ»ΠΈ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π°. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ android:layerType="software" ΠΈΠ»ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ textSize.
Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ исчСзаСт послС обновлСния MIUI БистСма сбрасываСт кэш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ². Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· SharedPreferences.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Logcat Π² Android Studio с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ ΠΏΠΎ Ρ‚Π΅Π³Ρƒ вашСго Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°:

adb logcat | grep "MiWidgetProvider"

ВСстированиС Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… модСлях

ПовСдСниС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π½Π°:

  • πŸ“± Redmi Note 12 (AMOLED-экран, MIUI 14).
  • πŸ“± POCO X5 (120 Π“Ρ†, агрСссивная оптимизация Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ).
  • πŸ“± Mi 13 Ultra (высокоС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Always-on Display).

РСкомСндуСтся Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π° 2–3 устройствах с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСрсиями MIUI. Если Π½Π΅Ρ‚ физичСских дСвайсов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Xiaomi EU ROM Π½Π° эмуляторС.

6. ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Π² Mi App Store

Π§Ρ‚ΠΎΠ±Ρ‹ ваш Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ стал доступСн Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Xiaomi, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ Mi App Store. ΠŸΡ€ΠΎΡ†Π΅ΡΡ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… этапов:

Π¨Π°Π³ 1. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ²

  • πŸ“ ОписаниС Π½Π° китайском ΠΈ английском (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ!).
  • πŸ–ΌοΈ Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ (Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 1080Γ—1920).
  • πŸŽ₯ Π”Π΅ΠΌΠΎ-Π²ΠΈΠ΄Π΅ΠΎ (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡˆΠ°Π½ΡΡ‹ Π½Π° ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅).
  • πŸ“„ APK-Ρ„Π°ΠΉΠ» (подписанный Ρ€Π΅Π»ΠΈΠ·Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ).

Π¨Π°Π³ 2. Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π² Mi Developer Console

  1. ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ Π½Π° dev.mi.com.
  2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π» App Release β†’ New App.
  3. Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅, катСгория, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ устройства).
  4. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ APK ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹.

Π¨Π°Π³ 3. ΠœΠΎΠ΄Π΅Ρ€Π°Ρ†ΠΈΡ

Π‘Ρ€ΠΎΠΊ рассмотрСния β€” ΠΎΡ‚ 3 Π΄ΠΎ 7 Π΄Π½Π΅ΠΉ. ЧастыС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ отклонСния:

  • 🚫 Π’ΠΈΠ΄ΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, READ_SMS для ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ΅Ρ€Π°).
  • 🚫 ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ Π³Π°ΠΉΠ΄Π»Π°ΠΉΠ½ΠΎΠ² MIUI (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, использованиС Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏΠ° Xiaomi Π±Π΅Π· Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ).
  • 🚫 ΠΠ΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° тСстовых устройствах ΠΌΠΎΠ΄Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Xiaomi Π²Π·ΠΈΠΌΠ°Π΅Ρ‚ комиссию 30% Π·Π° ΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ ΠΈ подписки (Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Google Play). БСсплатныС прилоТСния ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽΡ‚ΡΡ Π±Π΅Π· комиссии, Π½ΠΎ с ограничСниями ΠΏΠΎ ΠΌΠΎΠ½Π΅Ρ‚Π·Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹ скрытыС ΠΏΠ»Π°Ρ‚Π΅ΠΆΠΈ Ρ‡Π΅Ρ€Π΅Π· сторонниС сСрвисы).

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ способы распространСния

Если модСрация Π² Mi App Store затягиваСтся, рассмотритС:

  • 🌐 Google Play (Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ доступСн Π½Π° всСх Android-устройствах, Π½ΠΎ Π±Π΅Π· ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ MIUI).
  • πŸ“¦ APK-Ρ„Π°ΠΈΠ» Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ… (XDA Developers, 4PDA).
  • πŸ”— Telegram-Π±ΠΎΡ‚ для распространСния срСди тСст-Π³Ρ€ΡƒΠΏΠΏΡ‹.

7. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°

Π”Π°ΠΆΠ΅ самый ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ останСтся Π½Π΅Π·Π°ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΌ Π±Π΅Π· ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ продвиТСния. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

ВСхничСская оптимизация

  • ⚑ Π‘Π½ΠΈΠ·ΡŒΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ WorkManager вмСсто постоянных Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… процСссов.
  • πŸ“¦ Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ APK: ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Play Services, Ссли Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Google API).
  • πŸ› οΈ ΠΠ΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΠ΄ Ρ‚Ρ‘ΠΌΠ½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ MIUI:
    <style name="WidgetTheme" parent="Theme.AppCompat.DayNight">
    

    <item name="android:textColor">?android:attr/textColorPrimary</item>

    </style>

ΠœΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²Ρ‹Π΅ стратСгии

  • πŸ“’ Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠΎ-страницу Π½Π° GitHub ΠΈΠ»ΠΈ Product Hunt.
  • πŸ“Ή Π—Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ±Π·ΠΎΡ€ для YouTube (ΠΊΠ°Π½Π°Π»Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ TechDroider часто ΠΎΡΠ²Π΅Ρ‰Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹).
  • πŸ’¬ Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‡Π°ΠΉΡ‚Π΅ с Π±Π»ΠΎΠ³Π΅Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎ ΠΊΠ°ΡΡ‚ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ MIUI.

ΠœΠΎΠ½Π΅Ρ‚Π·Π°Ρ†ΠΈΡ

Если Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΡƒΠ·ΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Mi Band ΠΈΠ»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ статистики Mi Fit), рассмотритС ΠΌΠΎΠ΄Π΅Π»ΠΈ:

  • πŸ’° ΠŸΠ»Π°Ρ‚Π½Π°Ρ вСрсия с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ функциями.
  • β˜• Π”ΠΎΠ½Π°Ρ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Patreon ΠΈΠ»ΠΈ Buy Me a Coffee.
  • πŸ“¦ Подписка Π½Π° ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ-ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹ оформлСния).

FAQ: ЧастыС вопросы ΠΎ создании Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² для Xiaomi

МоТно Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π±Π΅Π· знания программирования?

ВСхничСски Π΄Π°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструкторов Π²Ρ€ΠΎΠ΄Π΅ KWGT (Kustom Widget Maker) ΠΈΠ»ΠΈ UCCW. Однако Ρ‚Π°ΠΊΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π½Π΅ смогут Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с API Xiaomi ΠΈΠ»ΠΈ сторонними сСрвисами. Для ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ потрСбуСтся Kotlin/Java.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠΎΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π΅ обновляСтся Π½Π° Xiaomi?

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅:

  1. MIUI ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π°Ρ‚Π°Ρ€Π΅ΡŽ: Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π² ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (Настройки β†’ БатарСя β†’ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ).
  2. Блишком большой ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» обновлСния: Π² widget_info.xml установитС updatePeriodMillis="1800000" (30 ΠΌΠΈΠ½ΡƒΡ‚).
  3. Ошибки Π² ΠΊΠΎΠ΄Π΅: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Logcat Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.
Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ с ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΌ Ρ„ΠΎΠ½ΠΎΠΌ для MIUI?

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² widget_layout.xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android"

android:background="@android:color/transparent"

android:layout_width="match_parent"

android:layout_height="match_parent">

</LinearLayout>

Если Ρ„ΠΎΠ½ всё Ρ€Π°Π²Π½ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ стили Π² Ρ‚Π΅ΠΌΠ΅ MIUI.

МоТно Π»ΠΈ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°Ρ… для Xiaomi?

Π”Π°, Π½ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ зависит ΠΎΡ‚ ниши:

  • ΠŸΠΎΠ³ΠΎΠ΄Π½Ρ‹Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹: низкая монСтзация ΠΈΠ·-Π·Π° высокой ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ.
  • Π’ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ для ΡƒΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ° (Mi Home, Yeelight): высокая монСтзация, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ аудитория Π³ΠΎΡ‚ΠΎΠ²Π° ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π° удобство.
  • ΠΠΈΡˆΠ΅Π²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Ρ‚Ρ€Π΅ΠΉΠ΄Π΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ Π³Π΅ΠΉΠΌΠ΅Ρ€ΠΎΠ²): срСдняя монСтзация, Π½ΠΎ лояльная аудитория.

Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ Π΄ΠΎΡ…ΠΎΠ΄ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Mi App Store β€” $0.1–$0.5 Π² мСсяц (для ΠΏΠ»Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ).

Как Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π° Xiaomi Π±Π΅Π· физичСского устройства?

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹:

  1. Эмулятор с Xiaomi EU ROM: скачайтС ΠΎΠ±Ρ€Π°Π· с xiaomi.eu ΠΈ установитС Ρ‡Π΅Ρ€Π΅Π· Android Studio.
  2. Π£Π΄Π°Π»Ρ‘Π½Π½ΠΎΠ΅ тСстированиС: сСрвисы Π²Ρ€ΠΎΠ΄Π΅ BrowserStack ΠΈΠ»ΠΈ Firebase Test Lab ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ устройства Xiaomi.
  3. Π‘Π΅Ρ‚Π°-тСстСры: ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ APK Π½Π° Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ… (4PDA, XDA) ΠΈ собирайтС ΠΎΡ‚Π·Ρ‹Π²Ρ‹.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: эмуляторы Π½Π΅ всСгда ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ MIUI, особСнно Π² части ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ.