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

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

В моем коде:

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

Я получаю ошибку lint:

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

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

Ответ 1

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

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

android {
  lintOptions {
    disable 'RestrictedApi'
  }
}

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

Ответ 2

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

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

//noinspection RestrictedApi

Ответ 3

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

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