{"id":32978034,"url":"https://github.com/scala-android/sbt-android","last_synced_at":"2026-03-10T16:33:08.239Z","repository":{"id":2554105,"uuid":"3532660","full_name":"scala-android/sbt-android","owner":"scala-android","description":"An easy-to-use sbt plugin for working with all Android projects","archived":false,"fork":false,"pushed_at":"2020-12-03T18:44:05.000Z","size":9620,"stargazers_count":742,"open_issues_count":20,"forks_count":89,"subscribers_count":56,"default_branch":"master","last_synced_at":"2026-01-16T21:48:30.675Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scala-android.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-02-24T04:11:36.000Z","updated_at":"2025-06-17T07:20:10.000Z","dependencies_parsed_at":"2022-08-06T12:15:37.939Z","dependency_job_id":null,"html_url":"https://github.com/scala-android/sbt-android","commit_stats":null,"previous_names":["pfn/android-sdk-plugin"],"tags_count":188,"template":false,"template_full_name":null,"purl":"pkg:github/scala-android/sbt-android","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scala-android%2Fsbt-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scala-android%2Fsbt-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scala-android%2Fsbt-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scala-android%2Fsbt-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scala-android","download_url":"https://codeload.github.com/scala-android/sbt-android/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scala-android%2Fsbt-android/sbom","scorecard":{"id":803104,"data":{"date":"2025-08-11","repo":{"name":"github.com/scala-android/sbt-android","commit":"280b0dd29584d164bfc3aa4289c9907e03b38ae5"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.2,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":2,"reason":"Found 8/27 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":2,"reason":"binaries present in source code","details":["Warn: binary detected: sbt-test/android-sdk-plugin/lib-with-resources/libs/test.jar:1","Warn: binary detected: sbt-test/android-sdk-plugin/multiproject-lib-with-resources/lib-with-resources/src/main/libs/test.jar:1","Warn: binary detected: sbt-test/android-sdk-plugin/sbt-structure-compatibility/project/lib/sbt-structure-0.13.jar:1","Warn: binary detected: sbt-test/gradle-build/materialedittext/gradle/wrapper/gradle-wrapper.jar:1","Warn: binary detected: sbt-test/gradle-build/plaid/gradle/wrapper/gradle-wrapper.jar:1","Warn: binary detected: sbt-test/gradle-build/plaid/third_party/bypass/libs/bypass-native-libs.jar:1","Warn: binary detected: sbt-test/gradle-build/u2020/gradle/wrapper/gradle-wrapper.jar:1","Warn: binary detected: sbt-test/gradle-build/viewserver/gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 11 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-23T11:02:15.144Z","repository_id":2554105,"created_at":"2025-08-23T11:02:15.144Z","updated_at":"2025-08-23T11:02:15.144Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30342182,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T15:55:29.454Z","status":"ssl_error","status_checked_at":"2026-03-10T15:54:58.440Z","response_time":106,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-13T06:00:36.409Z","updated_at":"2026-03-10T16:33:08.214Z","avatar_url":"https://github.com/scala-android.png","language":"Java","funding_links":[],"categories":["Libs","Android"],"sub_categories":["\u003cA NAME=\"Plugin\"\u003e\u003c/A\u003ePlugin"],"readme":"# Build Android Projects Using SBT #\n\n[![Build Status](https://travis-ci.org/scala-android/sbt-android.svg?branch=master)](https://travis-ci.org/scala-android/sbt-android)\n[![Latest version](https://img.shields.io/bintray/v/pfn/sbt-plugins/sbt-android.svg?maxAge=2592000)](https://bintray.com/pfn/sbt-plugins/sbt-android)\n[![Join the chat at https://gitter.im/scala-android/sbt-android](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/scala-android/sbt-android?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n[http://scala-android.org/](http://scala-android.org/)\n\n**[Change log](CHANGES.md) |\n[FAQ](https://github.com/scala-android/sbt-android/issues?q=label%3AFAQ%20)**\n\nAuto-import from gradle using [sbt-android-gradle](GRADLE.md)\n\nNOTE: 1.6.0 is the last version published using\n`addSbtPlugin(\"com.hanhuy.sbt\" % \"android-sdk-plugin\" % \"1.6.0\")`,\nall future updates can be accessed by using\n`addSbtPlugin(\"org.scala-android\" % \"sbt-android\" % VERSION)`\n\n![Demo](demo.gif)\n\n## Description ##\n\nThis is an easy-to-use plugin for existing and newly created android\nprojects. It requires SBT 0.13.8+\n\nThe plugin supports all android projects configurations. 3rd party libraries\ncan be included by placing them in `libs`, or they can be added by using sbt's\n`libraryDependencies` feature. This build plugin is 100% compatible with\nthe standard Android build system due to the use of the same underlying\n`com.android.tools.build:builder` implementation.\n\nNOTE: proguard 5.1 does not like old versions of scala. Projects that wish\nto use Proguard 5.1 or newer with Scala should use `scalaVersion := \"2.11.5\"`\nor newer. For compatible scala projects and java-based projects which wish to\nuse proguard 5.1 (to fix issues around generic types being removed from\nbase-classes) a workaround is to add this setting into your `build.sbt`:\n`proguardVersion := \"5.1\"`.\nSee [proguard bug #549](https://sourceforge.net/p/proguard/bugs/549/) and\n[SI-8931](https://issues.scala-lang.org/browse/SI-8931)\n\nNOTE: support-v4 22.2.x triggers compilation errors, see #173 and\n[SI-7741](https://issues.scala-lang.org/browse/SI-7741)\n\n## Support and Help ##\n\nThe first line of support is reading this README, beyond that, help can be\nfound on the #sbt-android IRC channel on Freenode, or the\n[scala-android/sbt-android gitter](https://gitter.im/scala-android/sbt-android)\n\n## Example projects ##\n\n* A growing collection of tests can be found under\n  [sbt-test/android-sdk-plugin/](sbt-test/android-sdk-plugin).\n  These projects are examples of how to use the plugin in various\n  configurations.\n* Testing the plugin can be run via `sbt scripted`, they require a device\n  or emulator to be running in order to pass.\n* All tests have auto-generated `build.properties` and `auto_plugins.sbt`\n  files that set the current version of sbt and the sbt-android to use\n  for testing.\n\n## Usage ##\n\n1. Install sbt (from [scala-sbt.org](http://www.scala-sbt.org) or use your\n   local packaging system like macports, brew, etc.)\n   * (OPTIONAL) Install the plugin globally by adding the following line\n   in the file `~/.sbt/0.13/plugins/android.sbt`:\n\n   ```\n   addSbtPlugin(\"org.scala-android\" % \"sbt-android\" % \"1.7.7\")\n   ```\n\n2. Set the environment variable `ANDROID_HOME` pointing to the path where the\n   Android SDK is installed.  If `ANDROID_HOME` is not set, an Android SDK\n   will be installed automatically at `~/.android/sbt/sdk`. If any components\n   are missing from your SDK, they will be installed automatically.\n   * (OPTIONAL) Set `ANDROID_NDK_HOME` if NDK building is desired and an NDK\n     already installed. If neither are set, or an NDK is not installed, an\n     NDK will be installed to `~/.android/sbt/sdk/ndk-bundle` automatically\n     if an NDK build is detected (Android.mk and friends)\n\n3. (N/A if globally configured) Create a directory named `project` within\n   your project and add the file `project/plugins.sbt`, in it, add the\n   following line:\n\n   ```\n   addSbtPlugin(\"org.scala-android\" % \"sbt-android\" % \"1.7.7\")\n   ```\n\n4. Create a new android project using `gen-android` if the plugin is installed\n   globally\n   * Instead of creating a new project, one can also do\n     `sbt gen-android-sbt` to make sure everything is properly setup\n     in an existing project.\n\n5. Create or edit the file named `build.sbt` and add the\n   following line, (automatically performed if using `gen-android`) :\n\n   ```\n   enablePlugins(AndroidApp)\n   ```\n\n6. (OPTIONAL) Select the target platform API you're building against in `build.sbt`,\n   if not selected, the newest available will be selected automatically:\n\n   ```\n   // for Android 7.0, Nougat, API Level 24:\n   platformTarget := \"android-24\"\n   ```\n\n   The Android Developer pages provides a [list of applicable version codes](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels).\n\n7. Now you will be able to run SBT, some available commands in sbt are:\n   * `compile`\n     * Compiles all the sources in the project, java and scala\n     * Compile output is automatically processed through proguard if there\n       are any Scala sources, otherwise; it can be enabled manually.\n   * `android:package-release`\n      * Builds a release APK and signs it with a release key if configured\n   * `android:package-debug`\n      * Builds a debug APK and signs it using the debug key\n   * `android:package`\n     * Builds an APK for the project of the last type selected, by default\n       `debug`\n   * `android:test`\n     * run instrumented android unit tests\n   * `android:install`\n     * Install the application to device\n   * `android:run`\n     * Install and run the application on-device\n   * `android:uninstall`\n     * Uninstall the application from device\n   * Any task can be repeated continuously whenever any source code changes\n     by prefixing the command with a `~`. `~ android:package-debug`\n     will continuously build a debug build any time one of the project's\n     source files is modified.\n7. If you want `sbt-android` to automatically sign release packages\n   add the following lines to `local.properties` (or any file.properties of\n   your choice that you will not check in to source control):\n   * `key.alias: KEY-ALIAS`\n   * `key.alias.password: PASSWORD` (optional, defaults to `key.store.password`)\n   * `key.store: /path/to/your/.keystore`\n   * `key.store.password: KEYSTORE-PASSWORD`\n   * `key.store.type: pkcs12` (optional, defaults to `jks`)\n\n## Advanced Usage ##\n\n* IDE integration\n  * The recommended IDE is IntelliJ, not Android Studio. However Android Studio\n    can be used with some massaging (i.e install the Scala Plugin).\n  * When loading a project into IntelliJ, it is required that the\n    [`Android Support`](https://plugins.jetbrains.com/plugin/1792) and `Scala`\n    plugins are installed.\n  * To ensure proper building, configure the IDE `Run` command to execute an SBT\n    `android:package` task instead of `Make` (remove the make entry); this is\n    found under `Run Configurations`.\n  * The SBT plugin for IntelliJ is the one from\n    [orfjackal/idea-sbt-plugin](https://github.com/orfjackal/idea-sbt-plugin).\n  * The `Scala` plugin is still required for non-Scala projects in order to\n    edit sbt build files from inside the IDE.\n  * IntelliJ 14 and newer now includes native support for importing projects\n    from `sbt-android`. The process generally works well, however there\n    are still several caveats:\n    * The `idea-sbt-plugin` is still required to actually perform the build\n    * `aar` resources do not show up in editor or autocomplete automatically\n      * They can be added manually, but must be added everytime the project\n        is refreshed from SBT (SBT toolwindow -\u003e Refresh)\n      * To add:\n        1. `Project Structure` -\u003e `Modules` -\u003e `+` -\u003e `Import Module`\n        2. `$HOME/.android/sbt/exploded-aars/AAR-PACKAGE-FOLDER`\n        3. `Create from existing sources`\n        4. `Next` all the until to the `Finish` button, finish.\n        5. Go to the `Dependencies` tab for the Module you want to be able to\n          access the AAR resources, click `+` -\u003e `Module Dependency`\n        6. Select the newly added AAR module above, and it will now be visible.\n      * Steps 5 and 6 will need to be repeated any time the build description\n        is refreshed (SBT toolwindow -\u003e refresh)\n      * This has been fixed by\n        [JetBrains/sbt-structure#42](https://github.com/JetBrains/sbt-structure/pull/42)\n        * Until it gets merged, can download\n          [sbt-structure-0.13.jar](sbt-test/android-sdk-plugin/sbt-structure-compatibility/project/lib/sbt-structure-0.13.jar)\n          from the test case and place it into\n          `$HOME/.IntelliJVERSION/config/plugins/scala/launcher/sbt-structure-0.13.jar`\n* Consuming apklib and aar artifacts from other projects\n  * Optionally use `apklib()` or `aar()`\n    * specifying `apklib()` and `aar()` is only necessary if the pom\n      packaging for the dependency is not `apklib` or `aar`\n  * `libraryDependencies += aar(\"groupId\" % \"artifactId\" % \"version\", \"optionalArtifactFilename\")`\n    * Basically, wrap the typical dependency specification with either\n      apklib() or aar() to consume the library\n    * If aars or apklibs are duplicately included in a multi-project build,\n      specify `transitiveAndroidLibs := false`\n    * `apklib` and `aar` that transitively depend on `apklib` and `aar` will\n      automatically be processed. To disable set\n      `transitiveAndroidLibs := false`\n  * Sometimes library projects and apklibs will incorrectly bundle\n    android-support-v4.jar, to rectify this, add this setting, repeat for any\n    other incorrectly added jars:\n    ```\n    unmanagedJars in Compile ~= {\n      _ filterNot (_.data.getName startsWith \"android-support-v4\")\n    }\n    ```\n* Using the google gms play-services aar:\n\n    ```\n    libraryDependencies +=\n      \"com.google.android.gms\" % \"play-services\" % \"VERSION\"\n    ```\n\n* Generating aar artifacts\n  * To specify that your project will generate and publish either an `aar`\n    artifact simply change the `enablePlugins(AndroidApp)`\n    line to `enablePlugins(AndroidLib)`\n* Multi-project builds\n  * See multi-project build examples in the test cases for an example of\n    configuration.\n  * All sub-projects in a multi-project build must specify `exportJars := true`.\n    Android projects automatically set this variable.\n  * When using multi-project builds in Scala, where library projects have\n    scala code, but the main project(s) do(es) not, you will need to specify\n    that proguard must run. To do this, the following must be set for each\n    main project: `proguardScala := true`\n* Configuring `sbt-android` by editing `build.sbt`\n  * Add configuration options according to the sbt style:\n    * `useProguard := true` to enable proguard. Note: if you\n      disable proguard for scala, you *must* specify uses-library on a\n      pre-installed scala lib on-device or enable multi-dex.\n  * Configurable keys can be discovered by typing `android:\u003ctab\u003e` at the\n    sbt shell\n* Configuring proguard, some options are available\n  * `proguardOptions ++= Seq(\"-keep class com.foo.bar.Baz\")` -\n    will tell proguard not to obfuscute nor optimize code (any valid proguard\n    option is usable here)\n * `proguardConfig ...` can be used to replace the entire\n   proguard config included with sbt-android\n   * To allow obfuscation: `proguardConfig -= \"-dontobfuscate\"`\n   * To allow optimization: `proguardConfig -= \"-dontoptimize\"`\n* On-device testing, use `android:test` and see\n  [Android Testing Fundamentals](http://developer.android.com/tools/testing/testing_android.html)\n*  Unit testing with robolectric and Junit (use the `test` task), see how\n   it works in the\n   [robo-junit-test test case](sbt-test/android-sdk-plugin/robo-junit-test)\n   * Be sure to set `fork in Test := true` otherwise the classloading black\n     magic in robolectric will fail.\n* Device Management\n  * The commands `devices` and `device` are implemented. The former lists\n    all connected devices. The latter command is for selecting a target\n    device if there is more than one device. If there is more than one\n    device, and no target is selected, all commands will execute against the\n    first device in the list.\n  * `android:install`, `android:run` and `android:test` are tasks that can\n    be used to install, run and test the built apk on-device, respectively.\n* Full list of `sbt-android` added commands, all commands have full tab\n  completion when possible.\n  * `adb-ls \u003cpath\u003e`\n  * `adb-cat \u003cfile\u003e`\n  * `adb-rm \u003cfile\u003e`\n  * `adb-pull \u003cfile\u003e [destination]`\n  * `adb-push \u003cfile\u003e \u003cdestination\u003e`\n  * `adb-shell \u003ccommand\u003e`\n  * `adb-runas \u003ccommand\u003e`\n  * `adb-kill[/project]`\n  * `logcat [-p pid] [-s tags] [options...]`\n  * `logcat-grep [-p pid] [regex]`\n  * `pidcat[/project] [partial pkg] [TAGs...]`\n  * `pidcat-grep[/project] [partial pkg] [regex]`\n  * `gen-android \u003cpackage\u003e \u003cname\u003e`\n  * `gen-android-sbt`\n  * `device \u003cserial\u003e`\n  * `devices`\n  * `adb-screenon`\n  * `adb-wifi`\n  * `adb-reboot [recovery|bootloader]`\n  * `variant[/project] [buildType] [flavor]`\n  * `variant-reset[/project]`\n  * `android-install \u003cpackage\u003e`\n  * `android-update \u003call|package\u003e`\n  * `android-license \u003clicense-id\u003e`\n\n### TODO / Known Issues ###\n\n* `autolibs` do not properly process `aar` resources. If anything\n  in an `autolib` uses resources from such a library, the answer is to create\n  a standard multi-project build configuration rather than utilize `autolibs`.\n  `autolibs` can be disabled by manually configuring `localProjects`\n* androidTest cannot be written in scala if one wants to use junit4 annotations.\n  a workaround is possible if setting `minSdkVersion` to `21` is ok. With\n  minSdk set to 21, also set `dexMulti := true` and\n  `useProguardInDebug := false` to bypass proguard. This will allow junit4\n  tests written in scala to function.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscala-android%2Fsbt-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscala-android%2Fsbt-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscala-android%2Fsbt-android/lists"}