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
}