The size of my game went from 50MB(installed on device size) on 32bit to 112MB on IL2CPP Universal with striping bytecode enabled. The size of a new , blank game is 58MB with IL2CPP Universal using Unity 5.1 .
Is this normal ? Am I doing something wrong ?
This is actually expected, mainly due to the presence of two slice in the binary (the “Universal” option for the “Architecture” setting). The 32-bit slice for ARMv7 is actually smaller than it is with the Mono scripting backend (since IL2CPP uses thumb instructions), but the 64-bit slice can be a bit large. You can find more details about how to understand and interpret the binary size here:
http://forum.unity3d.com/threads/il2cpp-build-size-improvements.322079/
In recent releases we have decreased the binary size for IL2CPP builds, and we are continuing work to do this. But the size for a universal binary will always be larger than just have one architecture slice in the binary.