如何将现有的基于IDEA Scala的Android项目迁移到SBT?

时间:2014-06-16 12:53:39

标签: android scala intellij-idea sbt

我有一个用Scala编写的Android应用程序,我使用直接使用Scala插件使用IntelliJ IDEA 13构建,没有其他构建系统。现在项目有所增长,有了第二个(库)模块和一些外部库,我想转移到具有不同配置和依赖管理的正确构建系统。

我发现了很多关于将现有SBT项目导入IDEA的信息,并从模板中启动了IDEA中新的SBT Android项目,但我还没有找到任何关于为现有设置SBT的信息IDEA项目。我发现的所有文档都假设您从头开始。我应该遵循什么程序来实现这一目标?

1 个答案:

答案 0 :(得分:1)

假设您有Android的传统(非Gradle)项目布局:

  1. 备份。
  2. 使用以下内容创建project/plugins.sbt

    addSbtPlugin("com.hanhuy.sbt" % "android-sdk-plugin" % "1.3.0-SNAPSHOT")

  3. 创建build.sbt。这是使用support-v4和gms的sample。相应地进行编辑。

  4. 删除intellij工件(* .idea,* .iml等)
  5. 打开intellij并根据sbt导入项目。 (可选:启用自动导入)
  6. 打开项目属性。将SDK设置为适当的Android SDK。
  7. 在您的模块上,添加Android Facet。确保目录(src,gen等)指向正确的路径。
  8. 连接您的设备
  9. sbt run
  10. 注意事项:

    • 如果启用自动导入,intellij会将'gen'文件夹取消标记为生成的源目录。如果发生这种情况,您必须将此目录标记为生成源的目录。

    - 更新:

    如果您有多项目设置,请在顶级项目目录中创建build.sbt(或project / Build.scala)。

    android-sdk-plugin的例子: