Странное предупреждение Android Studio

После того, как я обновил свою библиотеку поддержки с 23.1.1 до 23.4.0, я получаю это предупреждение cannot access android.support.v4.app.baseFragmentActivityEclair при каждом вызове super и каждом экземпляре AppCompatActivity

И если я обновлю свою библиотеку поддержки до 24.1.1, предупреждение изменится на cannot access android.support.v4.app.baseFragmentActivityJB.

Может ли кто-нибудь сказать мне, почему отображается это предупреждение и как я могу удалить это предупреждение:

вот мои зависимости раньше: (в этом нет ошибки)

compile 'com.android.support:palette-v7:23.1.1'
compile 'com.android.support:gridlayout-v7:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:cardview-v7:23.1.1'

вот мои зависимости после cannot access android.support.v4.app.baseFragmentActivityEclairwarning:

compile 'com.android.support:palette-v7:23.4.0'
compile 'com.android.support:gridlayout-v7:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:cardview-v7:23.4.0'

вот мои зависимости после cannot access android.support.v4.app.baseFragmentActivityJBwarning:

compile 'com.android.support:palette-v7:24.1.1'
compile 'com.android.support:gridlayout-v7:24.1.1'
compile 'com.android.support:support-v4:24.1.1'
compile 'com.android.support:appcompat-v7:24.1.1'
compile 'com.android.support:design:24.1.1'
compile 'com.android.support:cardview-v7:24.1.1'

person JAAD    schedule 25.07.2016    source источник
comment
Какова ваша версия android.defaultConfig.minSdkVersion? Я предполагаю, что Google отказался от поддержки фрагментов для более старых версий Android. (т.е. android-Eclair(api 5...7)) в более новых версиях. установка minSdkVersion=8 должна устранить ошибку baseFragmentActivityEclair.   -  person k3b    schedule 25.07.2016
comment
я использую minsdk = 14   -  person JAAD    schedule 25.07.2016


Ответы (2)


Мы столкнулись с похожей проблемой, когда один из пакетов в нашем проекте зависел от библиотек поддержки версии 24.0, а другой пакет зависел от версии 23.4.0. Похоже, это проблема IDE Android Studio (IntelliJ), а не компилятора, потому что мы смогли без проблем собрать и запустить проект. Мы устранили предупреждение, изменив зависимость 24.0 на 23.4.0. Я подозреваю, что если бы мы выбрали другое направление (продвижение всех наших зависимостей пакетов до 24.0), это также устранило бы предупреждение, но мы не стали экспериментировать с этим из-за количества пакетов в нашем проекте.

person jlspublic    schedule 10.08.2016

Если вы хотите обойти это, многие из библиотек поддержки имеют внутреннюю библиотеку под названием libs/internal_impl-$VERSION.jar, которая включает эти типы реализаций для конкретных версий. Чтобы заставить вашу IDE работать, вы можете извлечь эти JAR-файлы и вручную включить их в путь сборки вашей IDE.

Например, вы можете извлечь упомянутые здесь классы, предполагая версию 24.2.1, с помощью этой команды:

unzip support-fragment-24.2.1.aar libs/internal_impl-24.2.1.jar
person plinehan    schedule 03.11.2016