Android Scala 和 Gradle

Posted

技术标签:

【中文标题】Android Scala 和 Gradle【英文标题】:Android Scala and Gradle 【发布时间】:2012-10-20 06:59:27 【问题描述】:

我是 Gradle 的新手。是否有一些示例如何为 scala 类正确配置 gradle-android-plugin。

这就是我现在所拥有的。

buildscript 
repositories   mavenCentral()  

dependencies   classpath 'org.gradle.api.plugins:gradle-android-plugin:1.2.1'  


apply plugin: 'android'
apply plugin: 'eclipse'
apply plugin: 'scala'

sourceCompatibility = 1.6
version = "1.0.0"

repositories  mavenCentral() 

dependencies   
    compile files('/home/pcu/workspace/workspace-android/emoo/libs/android-support-v4.jar') 
    compile 'org.scala-lang:scala-library:2.9.1'
    scalaTools 'org.scala-lang:scala-compiler:2.9.1'
    scalaTools 'org.scala-lang:scala-library:2.9.1'



task configureDebug <<   jar.classifier = "debug"  


task configureRelease <<   proguard.enabled = true  

但编译失败。 Scala 类未编译。

【问题讨论】:

使用 2 种编程语言(即 Groovy 和 Scala)可能是问题的一部分。需要使用 Scala 编写脚本(而不是 Groovy)的 Gradle 版本。 @VorgvanGeir 我真的怀疑这是问题所在,否则scala plugin 根本无法工作...... 【参考方案1】:

使用正确的插件实际上要简单得多:

https://github.com/saturday06/gradle-android-scala-plugin

这对我来说非常好。

你只需要在你的 gradle 配置中再增加大约 3 行代码,并且可能需要 proguard 来减少 apk 的大小。

该设置在 github 页面上有详细记录。步骤 1-3 之外的所有内容都是可选的。

【讨论】:

以上是关于Android Scala 和 Gradle的主要内容,如果未能解决你的问题,请参考以下文章

intellij 与 sbt scala 和 android dev

android + scala + 混淆代码

我们如何在 Scala 中使用 android JobIntentService?

使用 scala 和 android-plugin 的 Proguard:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:160

使用 scala sbt 构建一个独立的 jar 以合并到一个 android 项目中

如何将 Scala 集成到核心 Android 平台中?