I am planning on writing a library on top of which other apps can be built. In particular, I want to port a new language to Android. The language currently compiles to Java bytecode, so it seems simple enough to convert it to the .dex format required by Android. The runtime for the programming language isn't particularly small (500k for the JVM core and more for the libraries). If I have multiple apps that all use this runtime, it would be a terrible waste to bundle it with every install (essentially, statically linking the runtime). What I want to do is to share the runtime between the multiple apps that need it (essentially dynamic linking). Is this possible? I'm hoping I can do this without needing root access.