2017-01-10 2 views
0

Я разрабатываю приложение для SDK версии 16 и выше. Насколько я понял, фреймворк фрейма включен в структуру ОС в этих версиях.Исключить поддержку фрагмента андроида из моего приложения

Я хочу удалить фреймворк библиотеки поддержки (теперь, когда библиотека поддержки v4 разделяется), но все остальные библиотеки поддержки используют ее (com.android.support:design:25.1.0 и более).

В чем же преимущество разделения библиотеки поддержки v4?

+0

'android.app.Fragment' включен даже без поддержки библиотеки. Итак, если вы не хотите 'android.support.v4.app.Fragment', то не компилируйте его. Удалите все библиотеки поддержки. –

+0

Ну, я хочу, чтобы библиотека поддержки дизайна материалов использовала 'android.support.v4.app.FragmentActivity' – Ovi

+0

И' AppCompatActivity' распространяется от этого, так почему именно вы хотите его удалить? –

ответ

0

Что касается этой конкретной библиотеки (com.android.support:design), они не обновили ее, чтобы использовать более гранулярные зависимости. Если повезет, они сделают это когда-нибудь.

В целом преимущество заключается в обеспечении гибкости. Не все приложения используют com.android.support:design, com.android.support:appcompat-v7 или другие библиотеки, которые Google еще не обновил для использования более гранулированных зависимостей. Приложения, которые избегают этих библиотек, могут использовать отдельные зависимости (например, com.android.support:compat).

Кроме того, вы можете использовать правила исключения Gradle, чтобы попытаться заблокировать части агрегата support-v4, которые, по вашему мнению, вы не собираетесь использовать. Например, вы можете исключить support-fragment, а затем посмотреть, поддерживает ли ваше приложение под тестированием (хотя это не будет работать в вашем конкретном случае, поскольку для библиотеки поддержки разработки требуется appcompat-v7, что, в свою очередь, требует FragmentActivity).

+0

Я попытался исключить библиотеку поддержки-v4, но она не компилируется, поскольку библиотека дизайна зависит от 'android.support.v4.app.FragmentActivity' – Ovi

+0

@Ovi: вы не можете использовать библиотеку поддержки дизайна, не используя' appcompat- v7' и 'AppCompatActivity'. Это, в свою очередь, расширяет 'FragmentActivity', и поэтому вы не сможете блокировать' support-fragment'. Я обновил свой ответ на матч. – CommonsWare