Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何使用Graclj在Android Studio中使用Clojure?_Android_Gradle_Clojure_Android Gradle Plugin_Graclj - Fatal编程技术网

我如何使用Graclj在Android Studio中使用Clojure?

我如何使用Graclj在Android Studio中使用Clojure?,android,gradle,clojure,android-gradle-plugin,graclj,Android,Gradle,Clojure,Android Gradle Plugin,Graclj,我的最终目标是能够使用Android Studio和草书为Android编写Clojure应用程序。我从leiningen开始,但发现它是一个独立于Andoid Studio使用ie Gradle的构建系统。所以我试着用Intellij来实现leiningen,但除了命令行之外,Android部署无法正常工作。因为我想与Android Studio集成,所以我决定尝试Graclj:这是Clojure的Gradle插件 根据以下指南,我可以在Android Studio中运行Graclj教程:

我的最终目标是能够使用Android Studio和草书为Android编写Clojure应用程序。我从leiningen开始,但发现它是一个独立于Andoid Studio使用ie Gradle的构建系统。所以我试着用Intellij来实现leiningen,但除了命令行之外,Android部署无法正常工作。因为我想与Android Studio集成,所以我决定尝试Graclj:这是Clojure的Gradle插件

根据以下指南,我可以在Android Studio中运行Graclj教程:

然而:

  • Graclj希望Clojure src和构建的类和JAR位于根项目中
  • androidstudio希望src和类位于app子项目中
  • 教程结束后,我将分别为Graclj和Android Studio完成Gradle构建任务,但我不知道如何集成它们
那么,有谁能建议一种方法,让我可以连接到Android Studio的构建过程中吗

  • 我是否需要更改Graclj插件的一些设置才能做到这一点?如果是,怎么做
  • 我需要更改一些Android Studio插件设置吗
  • 我是否需要在Gradle构建脚本中添加/更改某些内容
  • 我是在走死胡同吗?;-)
我已经了解了Android Studio的构建过程: 但我对Gradle了解不够,不知道我应该在这里做什么

如果我需要提供更多的信息,尽管问


感谢您的帮助

不幸的是,我没有任何Android(更不用说Android Studio)体验。不过,我会根据Gradle/Graclj的知识尽力回答

Graclj不要求您使用根项目。您可以在构建中的任何项目中应用插件。然而,我不知道像Graclj这样基于模型的插件与“传统”Android插件的配合效果如何。你可以尝试使用模型的方法,尽管有一个很好的机会,它将不兼容,除非有一个与Gradle2.12工程

或者,您可以在Graclj生成的JAR上向Android应用程序项目添加依赖项(您可能仍然希望将其放在根目录之外的项目中)。不确定是否有一个很好的方法来做到这一点(我还没有尝试过)

或者,您可能需要先将其添加到
my other proj
中的配置中,以便与传统插件进行互操作:

artifacts {
   archives createMainJar
}

(目前)你可能处于死胡同。Graclj非常新,所以这些东西最终都应该是可能的。

谢谢你的建议。我查看了实验插件,但它只支持Gradle 2.10。我尝试将Clojure添加到另一个子项目,它使用“mainAotJar”任务构建,但是,当我在
build.gradle
文件中添加对jar的引用时,作为:
artifacts{archives文件('/build/jars/main/aotJar/main.jar')}
我得到一个错误:
error:com.android.dx.cf.iface.ParseException:classname(learning/graclj)不匹配路径(aotJar/learning/graclj.class)
。另外,我不知道如何自动构建jar,我必须手动调用
mainAotJar
Gradle任务。有什么想法吗?嗯,不幸的是我不太确定那里发生了什么。在Graclj和实验插件更加成熟之前,您最好现在就尝试Clojuresque。好的,没问题。我尝试过Clojuresque,但它使用的Java插件与Android插件冲突。如果您想在将来进一步了解这一点,或者更详细地了解Android Studio正在做什么,请与我联系,我很乐意为您提供帮助。我真的很想在Android Studio中使用Clojure,因为与现代IDE相比,Emacs非常有限
artifacts {
   archives createMainJar
}