- Как включить *.so библиотеку в Android Studio?
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
- Ответ 7
- Ответ 8
- Как включить библиотеку*. so в Android Studio?
- 8 ответов
- Похожие вопросы:
- Русские Блоги
- Как Android вызывает сторонние SO библиотеки
- 30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году
- 1. LayoutManagerGroup
- 2. Creative View Pager
- 3. Instabug
- 4. CheckableChipView
- 5. CrunchyCalendar
- 6. InboxRecyclerView
- 7. SlideBack
- 8. DrawableToolbox
- 9. ColorPicker
- 10. MvRx
- 11. RxRedux
- 12. Emoji Slider
- 13. Covert
- 14. PixelShot
- 15. WiseFy
- 16. MVICore
- 17. DialerLoading
- 18. HtmlRecycler
- 19. Android Clean Architecture Components Boilerplate
- 20. Splitties
- 21. AndroidWM
- 22. Android components
- 23. RxBiometric
- 24. EnhancedNavigationView
- 25. livedata-ktx
- 26. Tumbleweed
- 27. Stylist
- 28. RxkPrefs
- 29. Philology
- 30. Scarlet
- Заключение
Как включить *.so библиотеку в Android Studio?
Я прочитал много потоков, как добавить библиотеку *.so в Android Studio, но никто из них не работает, особенно когда дело доходит до точки текста: это не работает с новым xxx (Android Studio, gradle. )
Мы можем начать с нуля. Я получил:
Android Studio 0.6.0
Из структуры проекта я вижу:
Скомпилируйте Sdk Version 19 Build Tools Версия 19.1.0
Я получил файлы *.so, предварительно скомпилированные, и в демонстрационном приложении они работают. Я должен изменить исходный код приложения, поэтому мне нужно перестроить с теми же файлами *.so.
ОТВЕТЫ
Ответ 1
Создайте новую папку project/app/src/main/jniLibs , а затем поместите ваши файлы *.so со своими папками abi в это местоположение.
Устаревшее решение
Добавьте оба фрагмента кода в свой файл gradle.build в качестве зависимости:
Как создать эту настраиваемую банку:
Тот же ответ можно найти и в связанном с ним вопросе: Включить .so библиотеку в apk в андроид-студии
Ответ 2
Добавление .so Library в Android Studio 1.0.2
- Создать папку «jniLibs» внутри «src/main/»
- Поместите все ваши библиотеки .so внутри папки «src/main/jniLibs»
- Структура папки выглядит,
| —app:
| — | —src:
| — | — | —main
| — | — | — | —jniLibs
| — | — | — | — | —armeabi
| — | — | — | — | — | — | -.
| — | — | — | — | —x86
| — | — | — | — | — | — | -. - Никакой дополнительный код не требует просто синхронизации вашего проекта и запуска вашего приложения.
Ответ 3
*. поэтому библиотека в Android Studio
Вам нужно создать папку jniLibs внутри main в проектах android Studio и поместить все ваши файлы .so внутри. Вы также можете интегрировать эту строку в build.gradle
compile fileTree (dir: ‘libs’, include: [‘.jar’, ‘. so’])
Он отлично работает
Это структура проекта.
Ответ 4
Решение 1. Создание папки JniLibs
Создайте в своем приложении папку «jniLibs» и папки, содержащие ваш *.so внутри. Папка «jniLibs» должна быть создана в той же папке, что и папки «Java» или «Assets».
Решение 2. Модификация файла build.gradle
Если вы не хотите создавать новую папку и сохраняете свои файлы *.so в папке libs, это возможно!
В этом случае просто добавьте файлы *.so в папку libs (пожалуйста, соблюдайте ту же архитектуру, что и решение 1: libs/armeabi/.so) и измените файл build.gradle вашего приложения, чтобы добавить исходный каталог jniLibs.
У вас будет больше объяснений со скриншотами, которые помогут вам здесь (шаг 6):
Ответ 5
Это мой файл build.gradle, обратите внимание на строку
Это будет включать файл libs *.so в apk.
Ответ 6
Чтобы использовать собственную библиотеку (так что файлы) Вам нужно добавить некоторые коды в файл «build.gradle».
Этот код предназначен для очистки каталога «armeabi» и копирования файлов «so» в «armeabi», в то время как «чистый проект».
Ответ 7
Я решил подобную проблему, используя внешние родственные зависимости lib, которые упакованы внутри файлов jar. Иногда эти библиотеки зависимостей архитектуры упаковываются все в одну банку, иногда они разбиваются на несколько файлов jar. поэтому я написал некоторый buildscript для сканирования зависимостей jar для родных libs и сортировки их в правильные папки Android для Android. Кроме того, это также обеспечивает способ загрузки зависимостей, которые не найдены в maven-репозиториях, которые в настоящее время полезны для работы JNA на андроиде, потому что не все родные банки публикуются в публичных репозиториях maven.
Ответ 8
Официальный анонс Android NDK hello-libs Пример CMake
Просто работал у меня на хосте Ubuntu 17.10, Android Studio 3, Android SDK 26, поэтому я настоятельно рекомендую вам основывать свой проект на нем.
Общая библиотека называется libgperf , key code части:
Затем, если вы посмотрите на /data/app на устройстве, там будет libgperf.so .
на С++-коде, используйте: #include
расположение заголовка: hello-libs/distribution/gperf/include/gperf.h
Если вы поддерживаете только некоторые архитектуры, см. Gradle Создание только NDK-цели только ARM
Источник
Как включить библиотеку*. so в Android Studio?
Я читал много тем, как добавить библиотеку*. so в Android Studio, но ни одна из них не работает, особенно когда дело доходит до текста: это не работает с более новыми xxx (Android Studio, gradle, . )
Не могли бы мы начать все сначала, пожалуйста? Я получил:
Android Studio 0.6.0
Из структуры проекта я вижу:
Скомпилировать Версию Sdk 19 Сборка Инструментов Версии 19.1.0
Я получил предварительно скомпилированные файлы*. so, и в демо-приложении они работают. Мне нужно изменить исходный код приложения, поэтому мне нужно перестроить его с помощью тех же файлов *.so.
8 ответов
У меня есть проект Android, который загружает пользовательскую библиотеку .so. У меня возникли проблемы с идеей w/ IntelliJ включить этот .so в состав сборки. Кто-нибудь знает, где настроить параметры проекта, чтобы включить этот файл .so? Спасибо UPDATE: нашел! В структуре проекта -> модули — >.
Я начинаю с android NDK. Я должен скомпилировать собственную библиотеку для 1.6 sdk (mupdf), но для этого требуется ljnigraphics lib (который был добавлен недавно на 2.2). Я пытаюсь включить скомпилированную библиотеку в свой проект android, но не могу понять, как это сделать. 1. Это лучший способ.
Добавление библиотеки .so в Android Studio 1.0.2
- Создать папку «jniLibs» внутри «src/main/»
- Поместите все ваши библиотеки .so в папку «src/main/jniLibs»
- Структура папок выглядит следующим образом,
|—приложение:
|—|—src:
|—|—|—главная
|—|—|—|—jniLibs
|—|—|—|—|—армеаби
|—|—|—|—|—|—.итак, Файлы
|—|—|—|—|—x86
|—|—|—|—|—|—.итак, Файлы - Никакого дополнительного кода не требуется, просто синхронизируйте свой проект и запустите приложение.
Текущее решение
Создайте папку project/app/src/main/jniLibs , а затем поместите файлы *.so в свои папки abi в этом месте. E.g.,
Устаревшее решение
Добавьте оба фрагмента кода в файл модуля gradle.build в качестве зависимости:
Как создать этот пользовательский jar:
Тот же ответ можно найти и в соответствующем вопросе: Включить библиотеку .so в apk в android studio
Решение 1 : Создание папки JniLibs
Создайте папку с именем “jniLibs” в своем приложении и папки, содержащие ваш *.so внутри. Папка «jniLibs» должна быть создана в той же папке, что и папки «Java» или «Assets».
Решение 2 : Изменение файла build.gradle
Если вы не хотите создавать новую папку и хранить файлы *.so в папке libs, это возможно !
В этом случае просто добавьте файлы *.so в папку libs (пожалуйста, соблюдайте ту же архитектуру, что и решение 1 : libs/armeabi/.so, например) и измените файл build.gradle вашего приложения, чтобы добавить исходный каталог jniLibs.
У вас будет больше объяснений, со скриншотами, которые помогут вам здесь ( Шаг 6 ):
РЕДАКТИРОВАТЬ его нужно было jniLibs.srcDirs, а не jni.srcDirs — отредактировал код. Каталог может быть [относительным] путем, который указывает за пределы каталога проекта.
Я пытаюсь разработать простое приложение android , в котором я пытаюсь использовать sqlcipher , который использует библиотеки .so внутри. Я прочитал документацию о том, как использовать sqlcipher с приложением android . Я следовал этим шагам, и он компилируется без каких-либо ошибок. Но во время.
Как включить Google Java Client API в Android Studio. possibly через gradle? Кроме того, я хочу управлять Google Contacts. so, какую еще библиотеку я могу включить и как? Спасибо
*.библиотека so в Android Studio
Вы должны создать папку jniLibs внутри main в проектах android Studio и поместить в нее все файлы .so. Вы также можете интегрировать эту строку в build.gradle
компиляция fileTree(реж.: ‘libs’, включает: [‘ .jar’,’ .so’])
Это прекрасно работает
Это структура проекта.
Это мой файл build.gradle, пожалуйста, обратите внимание на строку
Это будет включать файл libs *.so в apk.
Android NDK официальный hello-libs CMake пример
Только что работал на меня на хосте Ubuntu 17.10, Android Studio 3, Android SDK 26, поэтому я настоятельно рекомендую вам основывать свой проект на нем.
Общая библиотека называется libgperf , ключевые части кода:
Затем, если вы посмотрите под /data/app на устройстве, libgperf.so также будет там.
в коде C++ используйте: #include
расположение заголовка: hello-libs/distribution/gperf/include/gperf.h
местоположение lib: distribution/gperf/lib/arm64-v8a/libgperf.so
Если вы поддерживаете только некоторые архитектуры, см.: Gradle Build NDK target only ARM
Пример git отслеживает готовые общие библиотеки, но также содержит систему сборки для их фактического создания: https://github.com/googlesamples/android-ndk/tree/840858984e1bb8a7fab37c1b7c571efbe7d6eb75/hello-libs/gen-libs
Чтобы использовать собственную библиотеку (so-файлы) Вам нужно добавить некоторые коды в файл «build.gradle».
Этот код предназначен для очистки каталога «armeabi» и копирования файлов ‘so’ в «armeabi», а ‘clean project’.
Я решил аналогичную проблему, используя внешние собственные зависимости lib, которые упакованы внутри файлов jar. Иногда эти библиотеки, зависящие от архитектуры, упаковываются все вместе в один jar, иногда они разделяются на несколько файлов jar. поэтому я написал некоторый buildscript для сканирования зависимостей jar для собственных библиотек и сортировки их в правильные папки android lib. Кроме того, это также предоставляет способ загрузки зависимостей, которые не найдены в репозиториях maven, что в настоящее время полезно для работы JNA с android, поскольку не все собственные банки публикуются в общедоступных репозиториях maven.
Похожие вопросы:
Я работаю над этой проблемой уже несколько дней. Я пытаюсь использовать live555 ( http://www.live555.com/ ), сервер C/C++ streaming media, в качестве библиотеки в проекте Java Android Studio. Я смог.
Я пытался включить .so файлов в библиотечный модуль, используя android studio, но не смог этого сделать и получил java.lang.UnsatisfiedLinkError. Я также распаковал и проверил apk, сгенерированный.
Я пытаюсь включить библиотеку ShowcaseView в свой проект, используя зависимость, упомянутую в файле readme compile ‘com.github.amlcurran.showcaseview:library:5.0.0’ Но Android Studio дает ошибку для.
У меня есть проект Android, который загружает пользовательскую библиотеку .so. У меня возникли проблемы с идеей w/ IntelliJ включить этот .so в состав сборки. Кто-нибудь знает, где настроить.
Я начинаю с android NDK. Я должен скомпилировать собственную библиотеку для 1.6 sdk (mupdf), но для этого требуется ljnigraphics lib (который был добавлен недавно на 2.2). Я пытаюсь включить.
Я пытаюсь разработать простое приложение android , в котором я пытаюсь использовать sqlcipher , который использует библиотеки .so внутри. Я прочитал документацию о том, как использовать sqlcipher с.
Как включить Google Java Client API в Android Studio. possibly через gradle? Кроме того, я хочу управлять Google Contacts. so, какую еще библиотеку я могу включить и как? Спасибо
Как я могу добавить библиотеку .so в Android Studio и совершать вызовы к ней через файл .c с машинным кодом? Я гуглил целую неделю и перепробовал все возможные решения, которые нашел, но ничего.
Я знаком с проектами C#, раньше занимался кросс-платформенной разработкой с Xamarin. Я пытаюсь повторно использовать библиотеку .so в кросс-платформенном проекте visual studio android (Mono C#).
В настоящее время я работаю над Android NDK и успешно внедряю код C в jni и вызываю код c с помощью jni на android studio 1.5. Но теперь в соответствии с требованиями моего проекта я не использую.
Источник
Русские Блоги
Как Android вызывает сторонние SO библиотеки
Описание проблемы: Как Android вызывает сторонние SO библиотеки;
известные условия: Библиотека SO — это библиотека подключений версии Android (файл * .so), которая предоставляет подробные инструкции по интерфейсу;
Знай решение:
1. Поместите файл SO непосредственно в libs / armeabi, затем System.loadLibrary («xxx») в коде, затем в public native static int xxx_xxx_xxx (), затем вы можете напрямую вызвать метод xxx_xxx_xxx ();
2. Второе решение состоит в том, чтобы создать свой собственный файл SO, вызвать сторонний SO в своем собственном файле SO, а затем вызвать свой собственный SO в программе. Это более сложно. Требуется создать файл класса Java, сгенерировать файл .h и написать Исходный файл C включает в себя файл .h, сгенерированный перед включением соответствующего метода, и, наконец, использует скрипт ndk-build в комплекте разработки android NDK для создания соответствующей общей библиотеки .so;
Решить:
1. Возможны ли вышеуказанные два варианта? В чем проблема, если это невозможно?
2. В чем разница между двумя схемами? Почему вторые решения используются в основном в Интернете?
3. Существует только один файл * .so, и предоставляется подробное описание интерфейса. Можно ли его использовать в ANDROID?
Прежде всего, это зависит от того, является ли этот SO SO спецификации JNI, например, возвращает ли он тип, который JNI не поддерживает напрямую. Другими словами, может ли это так называться непосредственно как JNI. Если ответ «нет», вы можете выбрать только второй вариант.
Если ответ «да», это зависит от того, хотите ли вы, чтобы эта библиотека SO была напрямую представлена слою JAVA. Если ответ «нет», вы можете выбрать только второе решение, например, вы также являетесь поставщиком библиотеки.
Как правило, если у вас есть только SO, это означает, что это предоставляется вам другими, и вы можете попросить другую сторону предоставить вам поддержку файлов вызовов JAVA.
1. Это зависит от того, соответствует ли SO спецификации вызова JNI. Это зависит от ваших собственных пожеланий.
2. Поскольку второй метод является наиболее гибким, могут быть реализованы различные ситуации.
3. Да
Источник
30 Android-библиотек и инструментов, которые не должны пройти мимо вас в 2018 году
В течение лета 2018 года было разработано и обновлено множество отличных Android-библиотек и инструментов.
Я составил самый новый неупорядоченный список Android-библиотек, инструментов и проектов, которые могут оказаться интересными или полезными во время вашей повседневной работы. Они также отлично подойдут для вдохновения или экспериментов.
Надеюсь, вам понравится. Давайте начнём!
1. LayoutManagerGroup
Это библиотека, которая предлагает набор LayoutManagers для RecyclerView, которые помогут достичь таких эффектов, как на gif ниже.
Эти LayoutManagers в основном расширяют RecyclerView.LayoutManager или просто LinearLayoutManager и добавляют к ним дополнительную функциональность.
У этой библиотеки весьма лаконичная документация, но код говорит сам за себя. Лучший способ разобраться в библиотеке — это посмотреть пример приложения и увидеть в нём реализацию Activities и Fragments .
Библиотека выпущена под лицензией Apache 2.0, и на неё действительно стоит обратить внимание.
2. Creative View Pager
Creative View Pager — это интересная реализация ViewPager , в который добавляется список заголовков, плавно прокручивающийся вместе с содержимым страниц.
Документация исчерпывающая и объясняет, как использовать библиотеку. Выпущена под лицензией Apache 2.0 и написана практически полностью на Kotlin.
3. Instabug
Instabug — это инструмент сбора отзывов и ошибок для мобильных приложений. Благодаря нескольким простым действиям ваши пользователи или бета-тестировщики смогут сообщать об ошибках или оставлять отзывы, а SDK будет запоминать состояние среды устройства пользователя, включая все консольные логи, сетевые запросы и шаги для воспроизведения ошибки, собирая всю эту информацию на одной панели для удобства отладки и исправления ошибок.
В ходе недавнего обновления было исправлено множество ошибок. Подробнее об этих изменениях вы можете почитать здесь. Таким образом, Instabug даёт возможность:
- сообщать об ошибках и сбоях;
- проводить опросы прямо в приложениях;
- запрашивать функциональность, которую хотелось бы видеть в приложении;
- контролировать производительность сети;
- включать автозапись экрана.
Я использую Instabug с 2016 года, когда я искал инструмент, который помог бы моей команде и нашим пользователям. Настоятельно рекомендую его и вам.
4. CheckableChipView
Это check-виджет для Android на основе EventFilterView из приложения, написанного специально для Google I/O 2018. Для него требуется minSdkVersion 21.
Хороший README позволяет быстро начать работать с виджетом. Первоначальную реализацию разработали Ник Батчер и Хосе Алькеррека из Google.
Виджет выпущен под лицензией Apache 2.0 и написан на Kotlin.
5. CrunchyCalendar
Это лёгкий, мощный и простой в использовании календарь.
Он предлагает ряд полезных функций:
- бесконечная вертикальная прокрутка в обоих направлениях;
- установка временных рамок для ограничения прокрутки внутри определенного периода;
- выбор одной даты, нескольких дат или временных диапазонов;
- предустановка выбранных дат;
- цветовые настройки;
- отображение цветовых индикаторов;
- установка собственных ItemDecoration ;
- являясь наследником класса View , может быть использован где угодно: в Activity , Fragment , Dialog , или может быть интегрирован в другой пользовательский View -компонент.
Замечательная документация с множеством примеров. Также есть пример приложения на Github и Google Play.
Этот проект выпущен под лицензией MIT.
6. InboxRecyclerView
Это библиотека для создания динамической навигации в приложении, вдохновлённая Google Inbox и Reply.
InboxRecyclerView можно спокойно добавить в любой существующий проект. Можете взглянуть на пример приложения и загрузить его APK, чтобы посмотреть на своём телефоне.
Автор также написал действительно хорошую статью о библиотеке. Она определённо достойна вашего внимания. Выпущена под лицензией Apache 2.0.
7. SlideBack
Это небольшая, но интересная библиотека, которая предлагает вам использовать SlideBackView внутри Activity . Чтобы понять, что это вообще такое, взгляните на gif ниже.
К сожалению, документация довольно скудная и написана на китайском языке. Я бы не использовал её в своём проекте, а только лишь поэкспериментировал с ней. Тем не менее, вы можете изучить приложение и саму библиотеку. Она выпущена под лицензией MIT.
8. DrawableToolbox
Эта библиотека создаёт drawables программно и избавляет от повторяющихся файлов drawable.xml .
Выпущена под лицензией Apache 2.0. Есть полноценная документация и работает с API 14 и выше.
9. ColorPicker
Это библиотека написана тем же разработчиком, который написал DrawableToolbox. Это просто ещё один виджет для выбора цвета.
Эта библиотека предоставляет неплохую документацию. Выпущена под лицензией Apache 2.0 и работает с API 14 и выше. Если вам нужна функциональность выбора цвета в вашем приложении, то это отличный вариант.
10. MvRx
Библиотека просто огромна. MvRx (произносится «мэйврикс» (англ. mavericks)) — это Android-фреймворк от Airbnb, который они используют практически для всех своих продуктов.
MvRx делает разработку экранов приложения, от самых простых до более сложных, более простой, чем она есть изначально. Тем не менее, в ней всё построено поверх существующих компонентов, таких как фрагменты или архитектурные компоненты, поэтому она не ограничивает вас и может легко применяться в ваших проектах.
Основная цель заключалась в том, чтобы создавать приложения быстрее и с меньшими усилиями. MvRx использует следующие технологии и концепции:
- Kotlin;
- Архитектурные компоненты Android;
- RxJava;
- React (концепция);
- Epoxy (рекомендуется).
Фреймворк выпущен под лицензией Apache 2.0. Документация и wiki просто великолепны. В wiki есть версия tl;dr , а есть и обычная, со всеми объяснениями, необходимым для понимания концепции.
11. RxRedux
Если вы слышали о Redux, его основных концепциях и трех принципах, вы, вероятно, сразу поймёте, о чём эта библиотека.
RxRedux — это реализация, основанная на RxJava (вдохновленная redux-observable), которая помогает нейтрализовать побочные эффекты (побочный эффект — это функция типа (Observable , StateAccessor ) -> Observable ).
RxRedux является некой заменой оператора .scan() в RxJava. README написан хорошо и отлично дополнен этой статьей. Библиотека выпущена под лицензией Apache 2.0.
12. Emoji Slider
Это кастомный SeekBar , вдохновленный эмоджи-слайдером от Instagram.
В проекте есть очень хорошая документация и пример приложения. Выпущен под лицензией Apache 2.0.
13. Covert
Это библиотека, которая помогает реализовывать Material Swipe Actions в RecyclerView. Естественно, она написана в соответствии с принципами Material Design.
Благодаря хорошей документации её легко насторить. Проект выпущен под лицензией MIT.
14. PixelShot
Это библиотека, которая может сохранять любой View -компонент или SurfaceView в виде изображения в форматах: JPG/PNG/nomedia . Библиотека работает в фоновом потоке, обрабатывая ошибки ввода-вывода и управляя распределением памяти.
Вы можете использовать её, чтобы делать скриншоты внутри вашего приложения (например, для сообщения об ошибке).
Она довольно проста в использовании, а существующей документации вполне достаточно для начала. Она выпущена под лицензией Apache 2.0 и поддерживает API 19 и выше.
15. WiseFy
WiseFy — это оболочка для WifiManager и ConnectivityManager для Android. Она добавляет лёгкие высокоуровневые настройки, например:
- добавление и удаление сетей;
- проверка подключения устройства;
- проверка текущей сети;
- включение и выключение Wi-Fi и многое другое.
Это не новая библиотека, но недавно в ней произошёл огромный рефакторинг, и она была полностью переписана на Kotlin.
Документация хорошая и подробная. Лицензия: Apache 2.0.
16. MVICore
MVICore — это современный MVI-фреймворк от Badoo Tech, который включает в себя:
- 100% Kotlin: простой способ реализовывать свои бизнес-функции в реактивном режиме;
- Масштабирование: вы можете работать с единственным Reducer-компонентом, но при необходимости сможете добавить их столько, сколько нужно для обработки более сложных случаев;
- Обработка событий: есть решение для обработки событий, состояние которые вы не хотите хранить;
- Связывание реактивных компонентов: очень простой API для связки ваших реактивных компонентов вместе с автоматическим управлением жизненным циклом;
- Логгер из коробки;
- Временной отладчик: для всех ваших реактивных компонентов (а не только для переменных среды) вы сможете записать их состояние во времени и затем просмотреть его.
У фреймворка действительно хорошая документация. Если вы хотите переписать свое приложение в стиле MVI, то вам стоит обратить внимание на это решение.
17. DialerLoading
Эта библиотека может быть полезна при разработке собственных View -компонентов. Например, такой вот крутящийся телефонный диск может использоваться в качестве замены индикатора загрузки.
В проекте есть короткий README. А выпущен он под лицензией Apache 2.0. Написан полностью на Kotlin.
18. HtmlRecycler
Это интересная библиотека, которая преобразует простую HTML-страницу в RecyclerView из нативных Android-виджетов, основанная на Jsoup library и вдохновленная Medium Textview.
Эта библиотека ещё находится на стадии разработки, поэтому с осторожностью используйте её в своих проектах. Документация хорошая и доступно объясняет, как использовать библиотеку. Выпущена под лицензией Apache 2.0.
19. Android Clean Architecture Components Boilerplate
Я неоднократно упоминал об этой библиотеке, но благодаря усилиям команды Buffer она всё ещё развивается. В настоящее время они показывают, как использовать Koin вместо Dagger для инжекции зависимостей.
Библиотека выпускается под лицензией MIT.
20. Splitties
Splitties — это коллекция небольших независимых Android-библиотек, цель которых — сделать разработку приложений и библиотек для Android простой и весёлой. Мне очень нравится эта идея.
Этот проект называется «Splitties», потому что он разделён на небольшие модули, распространяемые как независимые Android-библиотеки, поэтому вы можете добавлять к себе в проект только те, которые действительно нужны, что помогает уменьшить размер финального apk-файла.
Каждый модуль спроектирован так, чтобы при своём небольшом размере он был максимально эффективным.
Документация хорошая, проект выпущен под лицензией Apache 2.0.
21. AndroidWM
Это небольшая библиотека для водяных знаков на изображениях, которая в том числе поддерживает зашифрованные и невидимые водяные знаки.
Библиотека довольно мощная и предлагает создавать несколько водяных знаков, выбирать режим рисования и способ загрузки ресурсов (как текст, как View -компонент или как Android-ресурс). Документация хорошая, ещё есть пример приложения.
Библиотека выпущена под лицензией Apache 2.0.
22. Android components
Это вторая коллекция библиотек в этой статье. На этот раз от команды Mozilla, и она может быть полезна во время создания браузеров или приложений, похожих на браузер.
На приведенной ниже диаграмме показаны некоторые из доступных компонентов.
В проекте есть 4 примера приложений, демонстрирующих использование различных компонентов. В нём также хорошая документация, и выпущен он под лицензией MPL 2.0.
23. RxBiometric
Эта библиотека связывает RxJava и RxKotlin с Biometric Prompt (сканер отпечатков пальцев) на Android (добавлен в Android 9 Pie, API 28+).
Согласно официальному блогу Android-разработчиков, если в вашем приложении вы используете собственные механизмы авторизации через отпечатки пальцев, то вы должны как можно скорее переключиться на использование BiometricPrompt API.
RxBiometric поможет вам сделать это через поток RxJava. В ней есть надежная документация с примерами использования. Выпущена под лицензией Apache 2.0.
24. EnhancedNavigationView
Это библиотека, которая расширяет BottomNavigationView от Google и позволяет взглянуть на него под весьма интересным углом.
Проект написан на Kotlin. Выпущен под лицензией Apache 2.0, и в нём есть пример приложения с использованием библиотеки.
25. livedata-ktx
Это расширение LiveData на Kotlin, превращающее код в цепочки вызовов, как RxJava, от команды Shopify. Если вы используете LiveData из архитектурных компонентов Android, то вы легко можете заменить его на LiveData KTX и создавать такие цепочки, как показано на примере ниже:
Проект разрабатывается четырьмя разработчиками и выпущен под лицензией MIT.
26. Tumbleweed
Tumbleweed — это ответвление от Universal-Tween-Engine, которое позволяет создавать плавные интерполяции для каждого атрибута каждого объекта в ваших проектах.
Tumbleweed отличается от исходного проекта несколькими особенностями:
- уменьшено изменение Tweens и Timelines (разделено объявление и реализация Tweens );
- интерполяция инкапсулирована путём создания определённого типа ( TweenType );
- удалён пул (постоянный источник неожиданного поведения) и многое другое.
Содержит исчерпывающую документацию и выпущена под лицензией Apache 2.0. В ней также есть пример приложения.
27. Stylist
Stylist — это проект, созданный разработчиками Uber. Это Gradle-плагин, написанный на Kotlin, который генерирует базовый набор Android-тем. Например, если вы хотите определить размер текста в тёмной и светлой темах приложения, вы создадите следующий класс:
И вы получите сгенерированные XML-темы:
Проект выпущен под лицензией Apache 2.0.
28. RxkPrefs
Это небольшая библиотека, которая предоставляет реактивные shared preferences. Она разработана специально для использования вместе с Kotlin.
Используя экземпляр RxkPrefs , вы можете получить preferences. Но это будет не сырое значение preference, а экземпляр интерфейса Pref , который предоставляет больше функциональности.
Библиотека выпущена под лицензией Apache 2.0.
29. Philology
Эта библиотека предлагает простой способ динамической замены строковых ресурсов вашего приложения или добавления новых языков без необходимости публикации новой версии в Google Play. Как это работает?
Philology не изменяет способ использования ресурсов при разработке приложения. Вместо этого происходит внедрение в этот процесс: перехватывается значение, возвращаемое из ваших файлов внутри приложения, и проверяется, есть ли на сервере более новое значение. Это позволяет устранять опечатки, улучшать формулировки или даже добавлять новый язык. Всё в режиме реального времени, без необходимости выпуска новой версии приложения.
Это действительно хорошая идея. Библиотека выпущенна под лицензией Apache 2.0. Проект содержит пример приложения, а также действительно полную документацию.
30. Scarlet
Это вдохновлённый Retrofit WebSocket -клиент для Kotlin и Java от команды Tinder. Библиотека хорошо задокументирована и описана в этой статье.
Вы также можете посмотреть её использование в приложении для проверки курса Биткойна в реальном времени.
Scarlet управляется при помощи StateMachine, также разработанной командой Tinder.
Проект выпущен под лицензией BSD 3-Clause.
Заключение
Вот и всё! Надеюсь, вам понравился этот список, и некоторые проекты вдохновили вас. Если вы знаете ещё какую-нибудь большую библиотеку, которая была выпущена за последние 5 месяцев, и я не упоминул об этом, пожалуйста, дайте мне знать в комментариях.
Источник