是否可以在_Android_ Java项目中使用Scala jar库?

时间:2013-06-04 19:16:11

标签: java android scala jar

任何“在Android上使用Scala”教程我发现只显示一个简单的“Hello World”应用程序。有没有人真正成功地在现实生活中的Android应用程序中使用Scala库jar?

我尝试在我的Android项目中使用goose library(https://github.com/GravityLabs/goose/)。我从源头上建好了goose-2.1.22.jar。将其插入到我的Android项目的libs目录中,并添加了一些代码来测试会发生什么:

String url = "http://www.cnn.com/2010/POLITICS/08/13/democrats.social.security/index.html";
Configuration cfg = new Configuration();
Goose goose = new Goose(cfg);
com.gravity.goose.Article article = goose.extractContent(url);
String s = article.cleanedArticleText().toString();

该项目编制正常,没有抱怨。当我尝试运行它时,我得到一个例外:

java.lang.NoClassDefFoundError: com.gravity.goose.Configuration

将scala-for-android.jar添加到libs形式的“Scala for Android”项目或scala-library.jar来自最新的稳定Scala后再好一点 - 然后我得到:

    java.lang.ExceptionInInitializerError
    at com.gravity.goose.Configuration.<init>(Configuration.scala:77)
    at com.hyperionics.ScalaTest.TestActivity$1.onClick(TestActivity.java:31)

是否有一些技巧可以让它发挥作用?


更多信息:崩溃发生在goose的Configuration.scala文件中,正好在这一行:

var contentExtractor: ContentExtractor = StandardContentExtractor

经过一段时间的测试后,我将来自Scala分发库目录的所有罐子添加到我的项目中,但没有区别,同样崩溃。还在http://code.google.com/p/scalaforandroid/找到了“Scala for Android”项目并添加了它的罐子而不是标准Scala发行版中的罐子,没有区别。为了编译我的项目并绕过错误“Android Dex:Too meny methods ...”我不得不使用DexGuard,就像Proguard一样,我得到了奇怪的错误。

非常感谢有关如何完成这项工作的更多提示!

0 个答案:

没有答案