I would like to make a snap with a .so file only, and make this library dynamically loaded from the main application itself in a snap package. The library snap is an extension of the main application that could be installed after the main app snap on user request. When the library snap is installed, the ideal is to write its registration somewhere in the system (otherwise, we should have to list all the installed snap, searching for the library snap).
You would likely need to create an interface for your application snap and library snap to connect via. You will need to file a bug with the tag 'snapd-interface' You can learn more about interfaces, plugs, and slots here .