I’ll periodically update this post with the most common mistakes that i do when developing with Marmalade, and that make me waste time.
– adding an empty .group file: Let’s say that i have a main .group file, say, MyProject.group, including all the .ui files, assets, fonts, etc. And this MyProject.group includes another SomeAssets.group file.
If SomeAssets.group is an empty file, application will compile, and work fine on x86 debug / x86 release; But when deploying to Android, App will come with an “Application has crashed unexpectedly” message on its start. Check your .group files! don’t leave one of them empty!
– Having an empty .h/.cpp file in a subproject: This case is much simpler. The app just doesn’t compile. But it displays an error related to the linker that is difficult to identify. It’s just about an empty .h or .cpp file.
– Deploying to win32 release, and not deleting the previous folder: After deploying to Windows, and executing my InnoSetup script to generate an installer, application is installed and overwrites the same folder than the last remaining installation. That means that all user data (e.g. SQLite databases) remain untouched.
– Deploying to Android, not deleting the App first: Marmalade, by default, does an “adb install -r” command when you select the “Package and install” option. That means it will re-install the App, but will keep user data untouched (databases, files, etc…in the smartphone’s SD card). So if you make changes like adding tables to the database, these changes won’t work because the new installation will keep the old database file. The solution to this is just doing “adb uninstall com.myapp.packagename” before re-installing the app.