realm-java: Gradle 2.2.3 crashing Caused by: java.lang.IllegalStateException: Call `Realm.init(Context)` before calling this method.

after updating the Android Studio (Today-12/07/16) to the new Gradle 2.2.3 and doing a CLEAN, im getting this crash:

Caused by: java.lang.IllegalStateException: CallRealm.init(Context) before calling this method.

my application:

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        MultiDex.install(this);
        ACRA.init(this);
        Realm.init(this);
        RealmConfiguration config = new RealmConfiguration.Builder()
                .name("default.realm")
                .schemaVersion(Migration.VERSAO)
                .migration(new Migration())
                .build();
        Realm.setDefaultConfiguration(config);
        Log.d("Application", "onCreate -> Started");
    }

and the method that cause the crash: realm = Realm.getDefaultInstance();

Full Class

public class InitConfiguration extends AppCompatActivity {
...
...
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.atividade_init_configuration);
        realm = Realm.getDefaultInstance();
...
...
}

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 19 (3 by maintainers)

Most upvoted comments

just simple

Realm realm;

try {
    realm = Realm.getDefaultInstance();
} catch (IllegalStateException fuckYouTooAndroid) {
    Realm.init(getApplicationContext());
    Realm.setDefaultConfiguration(/**/);
    realm = Realm.getDefaultInstance();
}

Does this solution works, can anyone confirm

try { realm = Realm.getDefaultInstance(); } catch (IllegalStateException fuckYouTooAndroid) { Realm.init(context.getApplicationContext()); realm = Realm.getDefaultInstance(); }