AppCompatActivity.onCreate 只能从同一图书馆组内调用
AppCompatActivity.onCreate can only be called from within the same library group
升级到 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)
如何防止此类行为?
正如 Felipe 在工具的预发布版本中的 this is a bug 中所指出的那样。
您现在可以解决它,直到 Google 发布修复程序,方法是将以下内容添加到项目模块的 build.gradle 文件中:
android {
lintOptions {
disable 'RestrictedApi'
}
}
值得注意的是,这可能会隐藏项目中的真实错误,因为它抑制了该类型的所有错误,因此更好的选择是降级 Android Studio 的版本和项目中使用的工具.
禁用 lintOptions 中的警告看起来不是一个好选择,最好在语句级别禁止检查。
在发出警告的代码行上方添加此注释:
//noinspection RestrictedApi
正如之前的回复所强调的那样,这是一个错误。我建议不要在整个项目范围内禁用特定的 lint 警告,但仅针对该方法。如下注释您的方法:
@SuppressLint("RestrictedApi")
@Override
public void setupDialog(Dialog dialog, int style) {
super.setupDialog(dialog, style);
//your code here
}
升级到 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)
如何防止此类行为?
正如 Felipe 在工具的预发布版本中的
您现在可以解决它,直到 Google 发布修复程序,方法是将以下内容添加到项目模块的 build.gradle 文件中:
android {
lintOptions {
disable 'RestrictedApi'
}
}
值得注意的是,这可能会隐藏项目中的真实错误,因为它抑制了该类型的所有错误,因此更好的选择是降级 Android Studio 的版本和项目中使用的工具.
禁用 lintOptions 中的警告看起来不是一个好选择,最好在语句级别禁止检查。
在发出警告的代码行上方添加此注释:
//noinspection RestrictedApi
正如之前的回复所强调的那样,这是一个错误。我建议不要在整个项目范围内禁用特定的 lint 警告,但仅针对该方法。如下注释您的方法:
@SuppressLint("RestrictedApi")
@Override
public void setupDialog(Dialog dialog, int style) {
super.setupDialog(dialog, style);
//your code here
}