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

На відміну від аналогічних проєктів на основі віртуальних машин, AinD може виконуватися на примірниках IaaS без підтримки вкладеної віртуалізації. Docker Hub: aind/aind.
Призначення:
-
Захист від крадіжки (див. Поширені запитання)
-
Сумісність з Android (через хмару) для планшетів на iOS і Windows
2. Booster
Booster - дуже цікавий інструмент: це простий у використанні, легкий, функціональний, розширюваний набір інструментів для підвищення якості, призначений спеціально для мобільних застосунків. Основне завдання проєкту - розв'язувати питання якості, пов'язані з підвищенням складності програми - наприклад, проблеми продуктивністю, стабільністю і розміром пакету.

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

Як показано на зображенні вище, якщо струсити пристрій, з'явиться запит з шаблоном для посилання звіту про помилку. Користувач може помітити помилку, замаскувати конфіденційні дані, описати проблему і відправити вам звіт.
Встановлюється ця штука просто, в документації все відмінно описано. Крім того, є інтерактивна демонстрація, яка показує роботу інструменту зсередини.
4. Scabbard
Scabbard допомагає з візуалізацією та аналізом графіка залежностей Dagger 2.

Scabbard візуалізує точки входу, схеми залежностей, взаємозв'язку компонентів і області дії. Додати цей інструмент в проєкт дуже легко: він добре інтегрований з Gradle, а також з Android Studio та IntelliJ (натиснувши значок на лівому полі в редакторі, можна переглянути схему для @Componentабо @Subcomponent).
Документований проєкт відмінно: є безліч прикладів і підказок.
Ліцензія - Apache 2.0.
5. Can I Drop Jetifier?
Як відомо, іноді перейти зі старої бібліотеки підтримки на AndroidX не так просто, особливо в великих проєктах з великою кількістю застарілого коду. Успіх переходу багато в чому залежить від використання інструменту Jetifier (перетворює залежності, яким для роботи з класами AndroidX все ще потрібні старі артефакти). Але він також сповільнює збірку проєкту.
«Все більше і більше бібліотек переходять на AndroidX, тому в якийсь момент необхідність включати цей інструмент відпадає. Цей плагін визначає, які з використовуваних бібліотек потрібно перенести на AndroidX - або позбутися від них, якщо вже вийшла нова версія », - Can I Drop Jetifier?

Документація зрозуміла, проєкт випущений під ліцензією Apache 2.0. Дуже рекомендую!
6. ADB Event Mirror
ADB Event Mirror дозволяє показувати події торкання екрану, натискання клавіш і кнопок одного пристрою на одному або кількох інших пристроях в реальному часі.

«Цей сценарій не адаптує роздільну здатність, щільність пікселів, орієнтацію і макет програми. Тому найкраще він працює з емуляторами, створеними з однаковою конфігурацією », - 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.

Його можна вважати дуже простою альтернативою Gradle Play Publisher або Fastlane. Опублікувати застосунок можна як apk
або набір App Bundle.
Особливості Autoplay:
-
Оптимізовано для використання в CI/CD.
-
Зручний для розробників.
-
Надійний і перспективний.
Проєкт має хорошу документацію, версія на момент написання статті - 1.3.0, ліцензія - Apache 2.0.
9. Плагін Gradle для статичного аналізу
Плагін статичного аналізу Gradle - комплексна заміна для всіх значущих інструментів статичного аналізу коду, містити в собі наступне:
-
FindBugs [ПІДТРИМКА ПРИПИНЕНА] [видалений в Gradle 6.0]
Сенс в тому, що вам не потрібно буде налаштовувати всі ці інструменти самостійно - їх можна без особливих зусиль включити у свою кодову базу. Плагін випущений під ліцензією Apache 2.0 і відмінно документований (є навіть приклад проєкту).
10. AndroidUtilCode
AndroidUtilCode - функціональна і проста у використанні бібліотека для Android, яка інкапсулює функції, які зазвичай використовуються при розробці Android з демонстраційними версіями та модульними тестами. Інкапсульовані API дозволяють значно підвищити ефективність розробки.
Проєкт складається в основному з двох модулів: utilcode (використовується в розробці часто) і subutil (використовується рідко, але дозволяє спростити основний модуль).

Версія проєкту - 1.29.0, ліцензія - Apache 2.0.
11. Hijckr
« Hijckr втручається в інфляцію макета 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 дозволяє переглядати всі дані таблиць в табличному форматі, видаляти таблиці, вставляти, змінювати та видаляти рядки і т. д.

Інструмент добре документований, ліцензія - Apache 2.0.
14. Android Framer
Інструмент android-framer додає рамки та заголовки до скріншотів в Google Play. Джерело натхнення - fastlane frameit.

Інструмент написаний на Python і використовує ImageMagick. Налаштувати рамки (фони) можна, наприклад, за допомогою Facebook Design. Також можна змінювати шрифт, кегль, розмір рамки і т. д.
Ліцензія - Apache 2.0.
15. Dependency Tree Diff
Dependency Tree Diff - це «інтелектуальний інструмент порівняння для виведення завдання dependenciesGradle
, який завжди показує шлях до кореневої залежності».

Можна встановити інструмент через 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 і простий інтерфейс для розробників».

Підтримуються:
-
Google Play (Play Feature Delivery)
-
Huawei App Gallery (Dynamic Ability).
-
Більшість інших платформ - в поєднанні з сервером GloballyDynamic (наприклад, Amazon App Store, Samsung Galaxy Store, Firebase App Distribution або локальна розробка).
Рекомендую прочитати README і докладніше ознайомитися з цим інструментом.
Ліцензія - Apache 2.0.
18. Dagger Browser
Dagger Browser - ще один інструмент (прогресивний веб-застосунок) для зручної навігації за схемою Dagger в проєкті.

«Дані схеми заповнюються за допомогою 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.

Звичайно, програм та інструментів, що забезпечують таку функціональність, безліч. Сьогодні функція запису екрану вбудована в усі нові пристрої, але якщо вам цікаво подивитися, як реалізувати такий застосунок, цей проєкт буде відмінним прикладом.
Ліцензія - Apache 2.0.
Висновок
От і все. Сподіваюся, список вам сподобався і якісь інструменти змогли вас надихнути.
Джерело: medium.com
Ще немає коментарів