1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-Shadow

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 6.6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 25.11.2024 23:57 8c0ea52

Тень

Введение

Тень — это плагин-фреймворк для Android, разработанный компанией Tencent. Он прошёл проверку на надёжность с участием пользователей в количестве более 100 миллионов.

В отличие от других фреймворков, Тень предлагает следующие преимущества:

  • Повторное использование исходного кода независимых приложений-плагинов.
  • Отсутствие рефлексии и хакерских методов реализации технологии плагинов. Это позволяет избежать необходимости адаптации к любой системе и использования скрытых API-вызовов, что не противоречит политике Google по ограничению доступа к непубличным SDK-интерфейсам.
  • Полностью динамический фреймворк плагинов, который позволяет легко обновлять и модифицировать плагины без ограничений, связанных с обновлением основного приложения.
  • Минимальное влияние на основное приложение благодаря полностью динамическому подходу. Размер добавленного кода составляет всего около 15 КБ и включает примерно 160 методов.
  • Реализация основных компонентов (core.loader и core.transform) на языке Kotlin, что обеспечивает простоту и удобство сопровождения кода.

Поддерживаемые функции

  • Четыре основных компонента.
  • Фрагменты (с возможностью добавления кода и через XML).
  • DataBinding (работает без специальной поддержки, но проверено на работоспособность).
  • Использование плагинов-сервисов в разных процессах.
  • Пользовательские темы.
  • Доступ плагинов к классам основного приложения.
  • Загрузка SO-библиотек.
  • Поэтапная загрузка плагинов (возможность загрузки нескольких APK по отдельности или с зависимостями друг от друга).
  • Возможность отображения представлений из разных APK в одном Activity.
  • И другие функции.

Среда разработки и компиляции

Для работы с проектом рекомендуется использовать последнюю стабильную версию Android Studio. Проект уже адаптирован для работы с Android Studio Arctic Fox | 2020.3.1. Более старые версии могут не открыться корректно из-за несовместимости с версией Gradle.

Чтобы начать работу с проектом, можно запустить модули sample-app или sample-host прямо из IDE. Это позволит увидеть, как один и тот же код работает в обычном режиме установки и в режиме плагина.

Весь код Тени находится в трёх каталогах в разделе projects:

  • sdk содержит весь код фреймворка.
  • test содержит код для автоматического тестирования фреймворка.
  • sample содержит демонстрационный код.

Наилучшим способом познакомиться с возможностями Тени является изучение каталога sample. Подробные инструкции можно найти в файле README.md в этом каталоге.

Проект имеет обширную систему автоматического тестирования, которая позволяет оценить совместимость с внешними средами.

Если вы столкнулись с ошибкой в собственном тестовом коде, не стоит беспокоиться. Большинство бизнес-приложений требуют доработки при интеграции с фреймворком. Благодаря динамической природе Тени, фреймворк и плагины могут развиваться параллельно.

Например, если ShadowActivity не реализует все методы Activity, вы можете столкнуться с ошибкой Method Not Found. В этом случае достаточно реализовать недостающие методы в ShadowActivity. Большая часть реализаций требует простого перенаправления вызовов для нормальной работы.

При возникновении проблем с функциональностью, которую невозможно реализовать, рекомендуется создать Issue. Лучше всего приложить тестовый код, чтобы помочь разработчикам разобраться в проблеме.

Дальнейшие планы развития включают:

  • Документацию по принципам и дизайну.
  • Демонстрационный проект для поддержки нескольких плагинов.
  • Расширение набора автоматических тестов.
  • Реализацию менеджера с открытым исходным кодом, включающего возможность скачивания.

Подробная информация о внесении вклада в проект представлена в CONTRIBUTING.md.

Лицензия BSD 3-Clause используется для Тени. Подробности доступны в LICENSE.txt.

Правила защиты личных данных описаны в PRIVACY.md.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-Shadow.git
git@api.gitlife.ru:oschina-mirror/mirrors-Shadow.git
oschina-mirror
mirrors-Shadow
mirrors-Shadow
master