20 інструментів Android-розробника, про які ви могли не знати

20 інструментів Android-розробника, про які ви могли не знати
8 хв. читання
22 вересня 2020

Набір корисних, але не дуже відомих інструментів і бібліотек Android.

1. AinD - запускає застосунки Android, поміщаючи контейнери Anbox в Докер.

20 інструментів Android-розробника, про які ви могли не знати

На відміну від аналогічних проєктів на основі віртуальних машин, AinD може виконуватися на примірниках IaaS без підтримки вкладеної віртуалізації. Docker Hub: aind/aind.

Призначення:

  • Захист від крадіжки (див. Поширені запитання)

  • Сумісність з Android (через хмару) для планшетів на iOS і Windows

2. Booster

Booster - дуже цікавий інструмент: це простий у використанні, легкий, функціональний, розширюваний набір інструментів для підвищення якості, призначений спеціально для мобільних застосунків. Основне завдання проєкту - розв'язувати питання якості, пов'язані з підвищенням складності програми - наприклад, проблеми продуктивністю, стабільністю і розміром пакету.

20 інструментів Android-розробника, про які ви могли не знати

Booster - це набір модулів для оцінки продуктивності, оптимізації багатопоточності, вбудованого індексу ресурсів, скорочення числа надлишкових ресурсів, стиснення ресурсів, виправлення системних помилок і т. Д. Booster дозволяє підвищити стабільність програми на 15-25% і знизити розмір пакета на 1-10 МБ.

Документація дуже хороша, ліцензія - Apache 2.0.

3. Shake

Shake - один із кращих інструментів для виявлення помилок, вивчення дій користувача для відтворення помилки та збору скріншотів або відео з помилками. Завдяки йому робота з помилками при бета-тестуванні та в публічній версії сильно спрощується - інструмент безперечно варто того, щоб спробувати.

20 інструментів Android-розробника, про які ви могли не знати

Як показано на зображенні вище, якщо струсити пристрій, з'явиться запит з шаблоном для посилання звіту про помилку. Користувач може помітити помилку, замаскувати конфіденційні дані, описати проблему і відправити вам звіт.

Встановлюється ця штука просто, в документації все відмінно описано. Крім того, є інтерактивна демонстрація, яка показує роботу інструменту зсередини. 

4. Scabbard

Scabbard допомагає з візуалізацією та аналізом графіка залежностей Dagger 2.

20 інструментів Android-розробника, про які ви могли не знати

Scabbard візуалізує точки входу, схеми залежностей, взаємозв'язку компонентів і області дії. Додати цей інструмент в проєкт дуже легко: він добре інтегрований з Gradle, а також з Android Studio та IntelliJ (натиснувши значок на лівому полі в редакторі, можна переглянути схему для @Componentабо @Subcomponent).

Документований проєкт відмінно: є безліч прикладів і підказок.

Ліцензія - Apache 2.0.    

5. Can I Drop Jetifier?

Як відомо, іноді перейти зі старої бібліотеки підтримки на AndroidX не так просто, особливо в великих проєктах з великою кількістю застарілого коду. Успіх переходу багато в чому залежить від використання інструменту Jetifier (перетворює залежності, яким для роботи з класами AndroidX все ще потрібні старі артефакти). Але він також сповільнює збірку проєкту.

«Все більше і більше бібліотек переходять на AndroidX, тому в якийсь момент необхідність включати цей інструмент відпадає. Цей плагін визначає, які з використовуваних бібліотек потрібно перенести на AndroidX - або позбутися від них, якщо вже вийшла нова версія », - Can I Drop Jetifier?

20 інструментів Android-розробника, про які ви могли не знати

Документація зрозуміла, проєкт випущений під ліцензією Apache 2.0. Дуже рекомендую!    

6. ADB Event Mirror

ADB Event Mirror дозволяє показувати події торкання екрану, натискання клавіш і кнопок одного пристрою на одному або кількох інших пристроях в реальному часі.

20 інструментів Android-розробника, про які ви могли не знати

«Цей сценарій не адаптує роздільну здатність, щільність пікселів, орієнтацію і макет програми. Тому найкраще він працює з емуляторами, створеними з однаковою конфігурацією », - ADB Event Mirror

Інструмент дає можливість протестувати застосунок одночасно на емуляторах різних типів.    

7. Android Emulator Container Scripts

Android Emulator Container Scripts - набір невеликих сценаріїв для запуску емулятора в контейнері для різних систем (наприклад, для Докера) з метою зовнішнього використання. Сценарії сумісні з Python версій 2 і 3. Цей репозиторій досить популярний і стане в пригоді, якщо потрібно запускати багато емуляторів на віддалених машинах.

Проєкт випущений під ліцензією Apache 2.0 і добре документований.    

8. Autoplay

Autoplay - це плагін для Gradle, призначений для публікації артефактів Android в Google Play.

20 інструментів Android-розробника, про які ви могли не знати

Його можна вважати дуже простою альтернативою Gradle Play Publisher або Fastlane. Опублікувати застосунок можна як apk або набір App Bundle.

Особливості Autoplay:

  • Оптимізовано для використання в CI/CD.

  • Зручний для розробників.

  • Надійний і перспективний.

Проєкт має хорошу документацію, версія на момент написання статті - 1.3.0, ліцензія - Apache 2.0.    

9. Плагін Gradle для статичного аналізу

Плагін статичного аналізу Gradle - комплексна заміна для всіх значущих інструментів статичного аналізу коду, містити в собі наступне:

Сенс в тому, що вам не потрібно буде налаштовувати всі ці інструменти самостійно - їх можна без особливих зусиль включити у свою кодову базу. Плагін випущений під ліцензією Apache 2.0 і відмінно документований (є навіть приклад проєкту).    

10. AndroidUtilCode

AndroidUtilCode - функціональна і проста у використанні бібліотека для Android, яка інкапсулює функції, які зазвичай використовуються при розробці Android з демонстраційними версіями та модульними тестами. Інкапсульовані API дозволяють значно підвищити ефективність розробки.

Проєкт складається в основному з двох модулів: utilcode (використовується в розробці часто) і subutil (використовується рідко, але дозволяє спростити основний модуль).

20 інструментів Android-розробника, про які ви могли не знати

Версія проєкту - 1.29.0, ліцензія - Apache 2.0.    

11. Hijckr

« Hijckr втручається в інфляцію макета Android і перенаправляє названі елементи в інші класи».

20 інструментів Android-розробника, про які ви могли не знати

Це досить цікавий інструмент. Наприклад, якщо файл макета містить TextView, Android зазвичай завантажує android.widget.TextView, але замість цього можна перехопити xml тег і завантажити com.myapp.TextView.

Опис проєкту досить докладний і дозволяє швидко почати роботу з інструментом (який повністю написаний на Java).    

12. Roomigrant

Roomigrant - це допоміжна бібліотека для автоматичної генерації міграцій бібліотеки Android Room з використанням формування коду під час компіляції. Вона використовує створені бібліотекою Room файли схеми та генерує міграції на основі різниці між ними - тобто, створення схеми Room має бути включено в файлі build.gradle, що добре описано в README.

Проєкт випущений під ліцензією MIT, версія 0.1.7.    

13. RoomExplorer

Після перенесення бази даних на Room непогано б переглянути її: RoomExplorer дозволяє переглядати всі дані таблиць в табличному форматі, видаляти таблиці, вставляти, змінювати та видаляти рядки і т. д.

20 інструментів Android-розробника, про які ви могли не знати

Інструмент добре документований, ліцензія - Apache 2.0.    

14. Android Framer

Інструмент android-framer додає рамки та заголовки до скріншотів в Google Play. Джерело натхнення - fastlane frameit.

20 інструментів Android-розробника, про які ви могли не знати

Інструмент написаний на Python і використовує ImageMagick. Налаштувати рамки (фони) можна, наприклад, за допомогою Facebook Design. Також можна змінювати шрифт, кегль, розмір рамки і т. д.

Ліцензія - Apache 2.0.    

15. Dependency Tree Diff

Dependency Tree Diff - це «інтелектуальний інструмент порівняння для виведення завдання dependenciesGradle, який завжди показує шлях до кореневої залежності».

20 інструментів Android-розробника, про які ви могли не знати

Можна встановити інструмент через brew або просто використовувати jar-файл.

Ліцензія - Apache 2.0.    

16. Gradle Doctor

Gradle Doctor - це плагін для сканування збірки Gradle. Функціональність: настроюються попередження про проблеми зі швидкістю збірки, вимірювання часових витрат на інструменти обробки анотацій Dagger, установка змінної JAVA_HOME та перевірка її відповідності JAVA_HOME в IDE, просте відключення кешування тестів, зупинка збірки в разі, якщо знайдені порожні каталоги src(оскільки це може бути причиною розбіжностей в кеші), і багато іншого.

У інструменту відмінна документація, проєкт випущений під ліцензією Apache 2.0.  

17. GloballyDynamic

GloballyDynamic - це «набір інструментів, спрямованих на забезпечення загальної доступності Dynamic Delivery, незалежно від магазину застосунків або платформи поширення, які також надають єдиний уніфікований клієнтський API для Android і простий інтерфейс для розробників».

20 інструментів Android-розробника, про які ви могли не знати

Підтримуються:

Рекомендую прочитати README і докладніше ознайомитися з цим інструментом.

Ліцензія - Apache 2.0.    

18. Dagger Browser

Dagger Browser - ще один інструмент (прогресивний веб-застосунок) для зручної навігації за схемою Dagger в проєкті.

20 інструментів Android-розробника, про які ви могли не знати

«Дані схеми заповнюються за допомогою SPI -плагіна Dagger, а засіб перегляду написано за допомогою CRA (create-react-app) і TypeScript», - Dagger Browser

Є й приклад програми, в якому показано, як інструмент працює. Все це випущено під  ліцензією BSD.    

19. Wormhole

Wormhole - «мандруючий у часі інструмент перетворення байт-коду, який додає в android.jar майбутні API-інтерфейси, які можна децукровувати на всі рівні API за допомогою D8 і R8».

Wormhole забезпечує зворотну сумісність з новішим API. Наведу приклад.

«В Android R є нові методи з Java 9 - наприклад, List.of. Завдяки D8 і R8 вони не є ексклюзивними для API 30 і миттєво перетворюються в сумісні з API 1. У D8 і R8 є набір методів децукрозації для API, яких ще немає в android.jar. І можна не чекати, поки вони з'являться - цей проєкт дає можливість використовувати їх відразу ж ».

20. MNML

MNML (вимовляється як «minimal» - «мінімальний») - простий безкоштовний застосунок для запису екрану в Android.

20 інструментів Android-розробника, про які ви могли не знати

Звичайно, програм та інструментів, що забезпечують таку функціональність, безліч. Сьогодні функція запису екрану вбудована в усі нові пристрої, але якщо вам цікаво подивитися, як реалізувати такий застосунок, цей проєкт буде відмінним прикладом.

Ліцензія - Apache 2.0.    

Висновок

От і все. Сподіваюся, список вам сподобався і якісь інструменти змогли вас надихнути. 

Джерело: medium.com

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація