如何在 IntelliJ IDEA(社区版)中使用 Scala 源构建 Android 项目?

发布于 2024-10-04 00:29:57 字数 621 浏览 2 评论 0原文

我正在尝试在 IntelliJ IDEA(社区版)中使用 Scala 源代码构建一个 Android 项目。我正在使用 Java 文件中的 Scala 源:自动完成工作正常,但构建无法解析 Java 中的 Scala 类:找不到符号类 MyScalaClass

(我在 Eclipse 中做到了这一点,但 Eclipse 中的 Scala 支持很差。)

有任何提示或教程吗?

更新:除了 Android 模块之外,我还添加了 Scala 模块。现在,在生成 classes.dex 期间构建失败,并显示消息:

Error: trouble writing output: format == null

我发现这是 Dalvik 的限制:问题 7147

如何在不使用 Ant 脚本的情况下删除 IDEA 中未使用的方法/类? (我在 Ant 脚本中使用 ProGuard,但无法让 IDEA 从 Ant 结果中解析 Scala 错误消息。)

I am trying to build an Android project with Scala sources in IntelliJ IDEA (Community Edition). I am using Scala sources from Java files: auto-complete works correctly, but build cannot resolve Scala classes in Java: cannot find symbol class MyScalaClass.

(I managed that in Eclipse, but Scala support in Eclipse is poor.)

Any hints or tutorials?

Update: I have added Scala module in addition to Android module. Now, build fails during generating classes.dex with message:

Error: trouble writing output: format == null

I found that it is a limitation of Dalvik: issue 7147.

How can I strip unused methods/classes in IDEA without using Ant script? (I was using ProGuard in Ant script, but I was unable make IDEA to parse Scala error messages from Ant results.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

萌酱 2024-10-11 00:29:57

scala/java 系统要求您:
- 首先构建 scala,为编译器提供 scala 和 java 文件。
- 使用 javac 路径中已编译的 scala 类构建 java 源。

第二个可能是你所缺乏的。请参阅如何将目录添加到 intellij idea 中的应用程序运行配置文件中的类路径? 将类路径添加到 Intellij (我想您是为 android 运行时执行此操作的,所以您可能已经知道了)。

The scala/java system requires that you:
- Build scala first, giving the compiler both scala and java files.
- Build the java sources with the compiled scala classes in the path for javac.

The second is probably what you lack. Refer to how to add directory to classpath in an application run profile in intellij idea? to add a classpath to Intellij (I suppose you did it for the android runtime, so you probably already know it).

你与清晨阳光 2024-10-11 00:29:57

您应该使用 ProGuard 来删除未使用的类。

按照此处的说明进行操作(具体请查看 progaurd-project.txt

You should use ProGuard to strip down unused classes.

Follow the instructions here (Specifically take a look at the progaurd-project.txt:

https://github.com/yareally/android-scala-intellij-no-sbt-plugin

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文