Hi guys,
i have problem with release mode and backendless table. When i made debug build all works fine. But when i made release build it’s give me error: “Table with the name b does not exist (…)”. I guess it’s coused by operation called dex which, as i understand it correctly, changing classes names. How can i avoid this problem?
The only way to change a table name in Backendless is by using Backendless Console. I am not sure what “operation called dex” is…
Where do you get the error you mentioned? Is it in a response from server?
Dex is some operation called in release building process it looks like obfuscation becouse changing my Android classes for example, from Match to b. Maybe that’s why i’m getting this error? I guess this dex operation isnt used in building debug version.
This error is from backendless server. backendlessFault object or something like this.
If your classes are declared public (and they must be per the documentation), then dex will not be renaming them.
public class Match { (…) }
And it have fields, getters, setters and empty constructor.
Do you have Proguard enabled?
in my gradle conf file i have this in release option
proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’
Please follow the instructions from the “Proguard Configuration” section on this page:
https://backendless.com/documentation/users/android/users_requirements.htm
My proguard-rules.pro looks like that :
-dontwarn com.backendless.**
-dontwarn weborb.**
-keep class weborb.** {;}
-keep class com.backendless.** {;}
Ok, added my package with database classes to proguard file and it works.