如何使用android模块创建sbt项目并使用Intellij ultimate运行?

时间:2015-07-22 18:41:50

标签: android scala intellij-idea sbt

我一直在尝试在sbt内创建一个类似2天的Android项目,而且我得到了很多乱跑。从一开始我一直在关注本教程,只是为了创建sbt+android+intellij IDE project。然后指示我走向android-sdk-plugin。在我最终能够执行sbt gen-android命令在命令行中创建一个android项目之前,我必须下载sdks并设置Paths。但是,当创建android sbt项目时,以下cmd行命令android update project -p .不会执行,因为清单不在根文件夹中。

我通过查看类型安全的scaloid模板示例进行了故障排除。所以,我的修复是将manifest和res文件传输到sbt项目的根目录,并将android包移动到src文件夹的根目录,以使android update工作。我已经得到了一些东西,我的sbt项目将在终端中编译,但在导入相同的项目后不在intellij中。

在开始这个过程之前,尝试用IDE创建一个sbt android项目我得到的是ANDROID_HOME在编译期间没有设置错误。现在在将所有内容设置为PATHS和sdks之后,在sbt编译时出现以下错误..

[info] Processing resources [trace] Stack trace suppressed: run 'last compile:compile' for the full output. [error] (compile:compile) java.lang.IllegalArgumentException: Lint must be invoked with the System property com.android.tools.lint.bindir pointing to the ANDROID_SDK tools directory

sbt compile之后的完全相同的文件夹中的终端..

[info] Loading global plugins from /Users/StramzCB/.sbt/0.13/plugins [info] Loading project definition from /Users/StramzCB/Desktop/sbt+intJ/hello-scaloid-sbt-master/project [info] Set current project to hello-scaloid-sbt (in build file:/Users/StramzCB/Desktop/sbt+intJ/hello-scaloid-sbt-master/) [info] Processing resources [success] Total time: 1 s, completed Jul 22, 2015 2:36:10 PM

请帮助我了解正确的创建方法和android + sbt + intellij项目。否则我可能不得不求助于将源文件复制到sbt项目中,只是为了编译apk,因为65k方法限制。

3 个答案:

答案 0 :(得分:0)

sbt gen-android

导入intellij。 完成

答案 1 :(得分:0)

先决条件:让你的路径设置为所有主要的sdk,即android,java,scala,sbt,maven,gradle。你用过什么。

最终为我工作的不是将gen-ndroid导入intellij作为sbt项目,而是我在以下成功...

1.使用intellij Ultimate创建一个新的sbt项目

2.在sbt项目中创建一个子模块android项目

3.使用

更新android项目
  

:android update project -p。

     

:sbt gen-android-sbt //来自android-sdk-plugin for sbt

5.在终端中运行一些清理和编译命令以验证功能

6.使用intellij打开Sbt项目并更改运行配置以运行sbt命令,如

android:run

  1. 它有效,但我的主要问题是我的intellij sbt与我的终端sbt没有同步。
  2. 就插件和注册资源而言,与终端环境相比,它已经停滞不前了。由于这个问题,我为sbt删除了一些非托管库,因为明显的原因写入ide并从终端运行sbt命令。有些库导入但没有进入子项目,所以我使用非托管库,即android.support.v4。

    到目前为止,只要编辑并给我答案,我就不会抱怨。

    这是我最近获得野兽代码环境的2天愤怒资源。我需要Sbt的全部原因是为了减少包装尺寸。

    https://github.com/pfn/android-sdk-plugin

    http://macroid.github.io/ScalaOnAndroid.html

    http://www.scala-sbt.org/0.12.2/docs/Getting-Started/Multi-Project.html

    IntelliJ 14 - Create / Import a Scala / SBT project

    https://github.com/pocorall/hello-scaloid-sbt

    http://www.47deg.com/blog/scala-on-android-preparing-the-environment

    How to get IntelliJ IDEA 14 working with Scala on Android (SBT)

答案 2 :(得分:0)

我的解决方案最近才对我有用,并且是在Intellij IDEA中创建android sbt项目的最佳方式。

在intellij中使用pfn android sdk sbt plugin + SBT和Scala插件,我执行了以下操作。

  1. 创建SBT项目
  2. 在项目根目录下打开终端并运行sbt“gen-android android-21 com.some.your-pack testName”
  3. 现在在Intellij中,通知会注意到Android模板,然后将android模板导入到您的项目中
  4. 这修复了我用项目名称创建两个重叠模块的问题,一个以包名称命名,一个名称为