AppCompatActivity.onCreate может вызываться только из одной и той же группы библиотек.

После обновления до appcompat 25.1.0 Я начал получать проводные ошибки.

В моем коде:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

Я получаю сообщение об ошибке:

AppCompatActivity.onCreate can only be called from within the same library group (groupId=com.android.support)

Как предотвратить такое поведение?

3 ответа

Решение

Как Фелипе уже отметил в своем комментарии, это ошибка в предварительной версии инструментов.

Вы можете обойти это пока, пока Google не выпустит исправление, добавив следующее в файл build.gradle модуля вашего проекта:

android {
  lintOptions {
    disable 'RestrictedApi'
  }
}

Стоит отметить, что это может скрывать истинные ошибки в вашем проекте, поскольку оно подавляет все ошибки этого типа, поэтому лучшим вариантом будет понижение версии Android Studio и инструментов, используемых в проекте.

Как отмечалось в предыдущих ответах, это ошибка. Я рекомендую не отключать конкретное предупреждение о lint для всего проекта, но только для этого метода. Аннотируйте свой метод следующим образом:

@SuppressLint("RestrictedApi")
@Override
public void setupDialog(Dialog dialog, int style) {
    super.setupDialog(dialog, style);
    //your code here
}

Отключение предупреждения в lintOptions не выглядит хорошим вариантом, лучше отключить проверку на уровне операторов.

Добавьте этот комментарий над строкой кода, которая выдает предупреждение:

//noinspection RestrictedApi
Другие вопросы по тегам