Android Studio

The official IDE for Android works surprisingly well with Scala Build Tool (sbt). You can use it to edit code, run & deploy the app from within the IDE, access the sbt console and use the debugger. However, there is currently an issue with the Android SDK. All references to the SDK render as red code, even though the IDE manages to import them for you. This does only happen in Scala code, Java sources are not affected by this.

Android Studio should currently not be used for development with sbt and Scala. Chances are, however, that it's a good fit for a Gradle + Scala setup.

Manifest

Some manifest values (e.g. the version and targetSdkVersion) can be specified in the sbt configuration file. The Android SDK Plugin for SBT will then inject the values into the existing AndroidManifest.xml and save it at ./target/android-bin/AndroidManifest.xml. If you don't let Android Studio know about the patched manifest file, the IDE might annoy you with linting messages that some API calls are not available with a minSdkVersion of 0.

Troubleshooting

IDE integration tends to break easily. If it doesn't work for you, have a look on the methods below to overcome common issues.

gen-idea

If the IDE import does not work out, you can let the gen-ideasbt plugin generate the configuration files instead.

gen-idea is a sbt task that generates configuration files for the IntelliJ IDEA. To install the gen-idea plugin create the file ~/.sbt/0.13/plugins/gen-idea.sbt (the filename is arbitrary) with the contents below.

Now, navigate your terminal to the project root directory and run sbt gen-idea. This will create IntelliJ IDEA 13 configuration files, but newer versions of IntelliJ IDEA are able to convert the configuration to their appropriate format.

You can now chose the Open option of the IntelliJ IDEA and select the root directory of your project.

Converting the project files only needs to be done once at the initial setup. When the IDE finished loading you may delete the /projectFilesBackup folder.

Import the Android dependency explicitly

If your setup is basically working, but imports of the Android SDK are red, you can fix that by manually importing the android.jar. Go to File → Project Structure and change the SDK of each module (in the Dependencies tab) from Android to a simple JavaSDK. Then, add the android.jar via + → JARs or directories and navigate to $ANDROID_HOME/platforms/android-x/android.jar.

This approach does unfortunately sacrifice the IDE source code lookup for Android sources.

Start all over

If everything fails, remove the .idea* directories from the project's root directory and start over by importing the sbt project.