AppCompatActivity.onCreate只能在同一个库组中调用

时间:2016-12-14 19:49:10

标签: android android-appcompat android-lint appcompat-v7-r25

升级到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)

如何防止这种行为?

3 个答案:

答案 0 :(得分:114)

正如先前的回复所强调的,这是错误。我建议不要在项目范围内禁用特定的lint警告,但仅限于该方法。按如下方式注释您的方法:

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

答案 1 :(得分:80)

正如费利佩已经在他的comment指出的那样,这是工具预发布版本中的bug

您可以暂时解决此问题,直到Google发布修复程序,方法是将以下内容添加到项目模块的build.gradle文件中:

android {
  lintOptions {
    disable 'RestrictedApi'
  }
}

值得注意的是,这可能会隐藏项目中的真实错误,因为它会抑制该类型的所有错误,因此更好的选择是降级Android Studio版本和项目中使用的工具。

答案 2 :(得分:63)

在lintOptions中禁用警告并不是一个好的选择,它可以更好地抑制语句级别的检查。

在提供警告的代码行上方添加此评论:

Microsoft.AspNetCore.SignalR