3 ms·
There are a few obstacles to easily using Scala on Android. Namely, the Scala standard library is too large to be easily "dexed" by the Android toolchain. Using
by stephenjudkins 15y ago
There are a few obstacles to easily using Scala on Android. Namely, the Scala standard library is too large to be easily "dexed" by the Android toolchain. Using Proguard or a similar treeshaker removes unused classes, but it's a bit of a hassle to set up manually.
However, I've found that using the SBT Android plugin (https://github.com/jberkel/android-plugin https://github.com/jberkel/android-plugin) makes the entire process relatively painless. I recommend starting with that approach.
- jbrechtel 15y agoYea, setting that up by hand can be a PITA. jberkel's plugin helps out a lot. Also, if you're interested in using Robolectric with Scala then this helps (warning, shameless plug) https://github.com/jbrechtel/robospecs https://github.com/jbrechtel/robospecs
- pufuwozu 15y agoI wrote a small tutorial on manually setting up Android with Scala: http://brianmckenna.org/blog/minimalist_android_scala_env http://brianmckenna.org/blog/minimalist_android_scala_env Enabling ProGuard is done by adding the following to build.xml: <target name="-debug-obfuscation-check"> <property name="proguard.enabled" value="true" /> <path id="out.dex.jar.input.ref" /> </target> Also add "proguard.config=proguard.cfg" to default.properties and "-dontwarn" to proguard.cfg.