Realm-java: If you have inner class that implements RealmModel interface and your outer class extends RealmObject, I'm getting class not found exception during build process.

Created on 28 Jul 2017  路  5Comments  路  Source: realm/realm-java

See the exception below.

/Users/sreekumar/AndroidStudioProjects/chefd-android/app/build/generated/source/apt/staging/debug/io/realm/PrefDQuestionDbRealmProxy.java:170: error: cannot find symbol
PreferenceRealmProxy.createRealmObjectSchema(realmSchema);
^
symbol: variable PreferenceRealmProxy
location: class PrefDQuestionDbRealmProxy
/Users/sreekumar/AndroidStudioProjects/chefd-android/app/build/generated/source/apt/staging/debug/io/realm/PrefDQuestionDbRealmProxy.java:289: error: cannot find symbol
com.chefd.tech.features.preference.model.Preference item = PreferenceRealmProxy.createOrUpdateUsingJsonObject(realm, array.getJSONObject(i), update);
^
symbol: variable PreferenceRealmProxy
location: class PrefDQuestionDbRealmProxy
/Users/sreekumar/AndroidStudioProjects/chefd-android/app/build/generated/source/apt/staging/debug/io/realm/PrefDQuestionDbRealmProxy.java:323: error: cannot find symbol
com.chefd.tech.features.preference.model.Preference item = PreferenceRealmProxy.createUsingJsonStream(realm, reader);
^
symbol: variable PreferenceRealmProxy
location: class PrefDQuestionDbRealmProxy
/Users/sreekumar/AndroidStudioProjects/chefd-android/app/build/generated/source/apt/staging/debug/io/realm/PrefDQuestionDbRealmProxy.java:397: error: cannot find symbol
preferenceRealmList.add(PreferenceRealmProxy.copyOrUpdate(realm, preferenceList.get(i), update, cache));
^
symbol: variable PreferenceRealmProxy
location: class PrefDQuestionDbRealmProxy
/Users/sreekumar/AndroidStudioProjects/chefd-android/app/build/generated/source/apt/staging/debug/io/realm/PrefDQuestionDbRealmProxy.java:432: error: cannot find symbol
cacheItemIndexpreference = PreferenceRealmProxy.insert(realm, preferenceItem, cache);
^
symbol: variable PreferenceRealmProxy
location: class PrefDQuestionDbRealmProxy
/Users/sreekumar/AndroidStudioProjects/chefd-android/app/build/generated/source/apt/staging/debug/io/realm/PrefDQuestionDbRealmProxy.java:472: error: cannot find symbol
cacheItemIndexpreference = PreferenceRealmProxy.insert(realm, preferenceItem, cache);
^
symbol: variable PreferenceRealmProxy
location: class PrefDQuestionDbRealmProxy
/Users/sreekumar/AndroidStudioProjects/chefd-android/app/build/generated/source/apt/staging/debug/io/realm/PrefDQuestionDbRealmProxy.java:507: error: cannot find symbol
cacheItemIndexpreference = PreferenceRealmProxy.insertOrUpdate(realm, preferenceItem, cache);
^
symbol: variable PreferenceRealmProxy
location: class PrefDQuestionDbRealmProxy
/Users/sreekumar/AndroidStudioProjects/chefd-android/app/build/generated/source/apt/staging/debug/io/realm/PrefDQuestionDbRealmProxy.java:546: error: cannot find symbol
cacheItemIndexpreference = PreferenceRealmProxy.insertOrUpdate(realm, preferenceItem, cache);
^
symbol: variable PreferenceRealmProxy
location: class PrefDQuestionDbRealmProxy
/Users/sreekumar/AndroidStudioProjects/chefd-android/app/build/generated/source/apt/staging/debug/io/realm/PrefDQuestionDbRealmProxy.java:586: error: cannot find symbol
com.chefd.tech.features.preference.model.Preference item = PreferenceRealmProxy.createDetachedCopy(managedpreferenceList.get(i), nextDepth, maxDepth, cache);
^
symbol: variable PreferenceRealmProxy
location: class PrefDQuestionDbRealmProxy
/Users/sreekumar/AndroidStudioProjects/chefd-android/app/build/generated/source/apt/staging/debug/io/realm/PrefDQuestionDbRealmProxy.java:604: error: cannot find symbol
preferenceRealmList.add(PreferenceRealmProxy.copyOrUpdate(realm, preferenceList.get(i), true, cache));
^
symbol: variable PreferenceRealmProxy
location: class PrefDQuestionDbRealmProxy
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
10 errors

If I change the type of both inner and outer class to the same , build error is gone !!!

Most helpful comment

extends PreferenceBase

You cannot do that.

All 5 comments

You added implements RealmModel but you most likely didn't add @RealmClass

Also make sure it is public static class

I'm facing another issue now..

@RealmClass
public class Answer extends PreferenceBase implements RealmModel, Parcelable{

}

Error:(31, 8) error: Valid model classes must either extend RealmObject or implement RealmModel.

is this is because of Parcelable?

extends PreferenceBase

You cannot do that.

gotcha !!!

Was this page helpful?
0 / 5 - 0 ratings