AppCompatActivity.onCreate can only be called from within the same library group

AndroidAndroid LintAndroid Appcompat

Android 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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionpixelView Question on Stackoverflow
Solution 1 - AndroidDimitrisCBRView Answer on Stackoverflow
Solution 2 - AndroidMartinView Answer on Stackoverflow
Solution 3 - AndroidShubham AgarwalView Answer on Stackoverflow