IntelliJ Idea 12 + Android + Scala如今

Ala*_*ano 56 ide ubuntu android scala intellij-idea

正如我所建议的,我已经完成了一些文章,描述了如何使IntelliJ Idea和Android和Scala协同工作,但事实证明它们都是在1年或2年前编写的.可能,自那时以来发生了一些变化,现在还有其他解决方案来实现这一目标.具体来说,有一个新的解决方案https://github.com/yareally/android-scala-intellij-no-sbt-plugin,我不知道它是否运作良好.

我有IntelliJ Idea 12,Android SDK,Scala,SBT以及所有其他安装和设置的东西.唯一剩下的就是设置IntelliJ Idea 12以使其与Scala而不是Java一起使用来创建Android应用程序.

请不要关闭这个问题.我看到以前的问题与我的相似,但正如我所说,它们已经过时了.

问题是,我现在该怎么做(2013年5月)

PS我试过Android开发工作室,但由于很多错误,我甚至无法启动它.

F.X*_*.X. 21

更新:您可以阅读我写的有关即将推出的新版SBT-Android(0.7)的教程.你应该在那里解决你的大多数问题.如果他们不是,那就是一个问题.


更新2:为了公平起见,还有一项伟大的工作正在进行中:@pfn在GitHub上的android-sdk-plugin.

关于ProGuard和构建时间:

  • 我自己在我的设备上预加载大型库sbt-android.这完全消除了ProGuard,但需要root.

  • android-sdk-plugin最新版本拥有一个新的ProGuard缓存(与AndroidProguardScala相同),非常好用,在开发过程中大多数情况下都会消除ProGuard.


我几个月来一直在为SBT-Android做贡献,所以我知道它比其他解决方案好很多.

截至目前,该插件正在快速发展,具有:

  • 即将推出完整的IntelliJ支持(感谢SBTIdea)(事实上​​,它已经可以工作了,我只需要发送拉取请求)
  • 在模拟器或root设备上自动预加载Scala (只需运行android:preload-{device, emulator},开发不需要Proguard!)
  • 应该以最小的努力支持简单的Gradle项目开箱即用(目录结构非常相似)
  • 配置更容易(只需添加插件和项目文件,你就可以了!)

目前的版本没有大部分细节,但它们将在接下来的几周内出现.一些文档当然会很快跟进,随后会有一些示例和我想到的所有内容.

我鼓励您加入Android Google Scala并分享您的想法.#sbt-android如果您进入IRC,Freenode 上还有一个频道.

  • 他刚刚使用Proguard,这是SBT-Android长期以来一直在做的事情.所以是的,在某种程度上我知道他在做什么;) (2认同)

drh*_*rhr 8

只想在这上面写一下.我使用了https://github.com/yareally/android-scala-intellij-no-sbt-plugin,虽然我发现这些说明含糊不清,在此之前没有使用过IntelliJ.

你可能现在已经整理好了并且对SBT很满意,但出于我的目的,我只是想在Android上测试Scala,而不需要额外的铃声和口哨声.所以,为了让no-sbt-plugin工作起作用,我必须做一些小事情:

我最终将scala-compiler.jar(以及scala-library.jar和scala-reflect.jar)包含为全局库: 在此输入图像描述

这样,编译器可以访问库和反射代码,否则我会收到错误.如果您不包含库,IDE会抱怨编译器需要一个关联的库,如果您不包含反射,它会在编译时吐出一堆错误,导致无法找到反映类定义.

我还必须将scala-library.jar作为模块依赖项包含在内(其副作用还包括在Libraries部分下): 在此输入图像描述

在完成所有这些之前,我安装了Scala插件,创建了一个Android项目,并简单地添加了一个Scala方面(忽略内存设置,我在搞砸): 在此输入图像描述

最后,我必须通过在proguard txt文件中添加一些"-dontwarn"行来解决一些剩余的编译错误.很简单.

奇迹般有效.还没有做任何实质性的事情,但我期待在我的下一个Android项目中使用Scala.


poc*_*all 5

我编写了Scaloid库,使用Scala更简洁地开发Android.

为了快速起点,我为Scala + Android 编写了一个hello-world maven项目.

我使用Intellij作为主IDE,并使用魅力导入项目.

  • 我想要它使用sbt,而不是maven. (3认同)