Best practice - Where to put my class constants

No it can’t. This would break the ABI if you change it from val to var at a later point. That said the JVM might inline this during runtime which would have basically the same effect.

I think some older versions of android don’t do this, but I agree marking something as const is mostly a statement of intent than real functionality. The only real difference in my oppinion is that const can be used as a parameter for annotations.