AppCompatActivity.onCreate can only be called from within the same library group
AndroidAndroid LintAndroid AppcompatAndroid Problem Overview
After upgrading to appcompat 25.1.0
I've started getting weird errors.
In my code:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
I get lint error:
AppCompatActivity.onCreate can only be called from within the same library group (groupId=com.android.support)
How to prevent such behavior?
Android Solutions
Solution 1 - Android
As previous responses highlighted, it is bug. I recommend not to disable the specific lint warning project-wide, but for that method only. Annotate your method as follows:
@SuppressLint("RestrictedApi")
@Override
public void setupDialog(Dialog dialog, int style) {
super.setupDialog(dialog, style);
//your code here
}
Solution 2 - Android
As Felipe already pointed out in his comment this is a bug in the pre-release version of the tools.
You can workaround it for now, until Google release a fix, by adding the following into your project module's build.gradle file:
android {
lintOptions {
disable 'RestrictedApi'
}
}
It's worth noting that this may hide true errors in your project as it suppresses all errors of that type, so the better option would be to downgrade the version of Android Studio and the tools used in the project.
Solution 3 - Android
Disabling the warning in lintOptions doesn't look a good option it's better to suppress inspection at the statement level.
Add this comment above the line of code which gives the warning:
//noinspection RestrictedApi