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.
Download and install Android Studio from the official website.
After startup make sure to first install the Scala and sbt plugins as shown below.
Now close the plugins configuration and restart the IDE to apply the changes.
Now, opening a sbt Scala on Android is dead simple.
Select the root directory of the project that you prepared in the Project setup section.
You are now able to edit code and access the sbt console from within Android Studio (
View > Tool Windows > SBT Console).
To run, package and debug your app from within the IDE, further adjustments are necessary.
You should now be able to run and debug your code via the IDE controls. If the build progress gets stuck, open the sbt console (
View > Tool Windows > SBT Console) to see detailed error messages.
Some manifest values (e.g. the
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.
TroubleshootingIDE integration tends to break easily. If it doesn't work for you, have a look on the methods below to overcome common issues.
If the IDE import does not work out, you can let the gen-idea sbt 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.
resolvers += "Sonatype snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/" addSbtPlugin( "com.github.mpeltonen" % "sbt-idea" % "1.7.0-SNAPSHOT" )
This makes the gen-idea sbt command globally available.
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
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 Java SDK. Then, add the
+ → JARs or directories and navigate to
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.