首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用Gradle时,如何让Frege编译器查看Android API类?

在使用Gradle时,如何让Frege编译器查看Android API类?
EN

Stack Overflow用户
提问于 2016-09-20 06:29:09
回答 1查看 65关注 0票数 1

我正在尝试使用the Frege language编写一个安卓应用程序。不幸的是,我不知道如何做到这一点的任何例子。

所以,我使用Gradle作为我的构建系统,使用Android Gradle插件。然后,为了获得要编译的Frege代码,我使用javaexec在编译Java文件之前调用frege编译器,如this post中所建议的那样。

我成功地用Frege代码构建了一个Android应用程序,它可以被Java代码调用,如here所示。

但是,Frege代码只能调用标准Java API。它不能调用任何Android API。

我希望能够从Frege调用Android API。有一个很好的repo here,它有针对Android APIs的Frege包装器。不幸的是,它没有构建系统或指令。

我相信我已经成功地设置了我的build.gradle来构建FregeAndroid包装器和我的项目代码。Frege编译器确实在尝试构建它们。

但是,FregeAndroid代码无法编译,因为它看不到Android API类。我假设我需要以某种方式找到Android API类的位置,然后将其添加到Frege编译器的类路径中,这样它就可以看到这些类。不幸的是,这就是我被卡住的地方。我是Gradle的新手,不知道该怎么做。

Here是我到目前为止还没有构建的项目,名为in the following way

代码语言:javascript
复制
:compileDebugJavaWithJavac
Frege compiler args: "-inline -d src/frege -make -fp /Users/ppelleti/Library/Android/sdk/platforms/android-21/android.jar -sp /Users/ppelleti/programming/android/frege-on-android/FregeAndroid/src /Users/ppelleti/programming/android/frege-on-android/FregeAndroid/src/frege/android/animation/TimeInterpolator.fr"
calling: javac -cp /Users/ppelleti/.gradle/caches/modules-2/files-2.1/org.frege-lang/frege/3.23.401-g7c45277/716990197271fdc15917b4f8d023d63009ba6e39/frege-3.23.401-g7c45277.jar:/Users/ppelleti/Library/Android/sdk/extras/android/m2repository/com/android/support/multidex/1.0.0/multidex-1.0.0.aar:src/frege:/Users/ppelleti/Library/Android/sdk/platforms/android-21/android.jar -d src/frege -sourcepath /Users/ppelleti/programming/android/frege-on-android/FregeAndroid/src -encoding UTF-8 src/frege/frege/android/animation/TimeInterpolator.java 
runtime 4.282 wallclock seconds.
Frege compiler args: "-inline -d src/frege -make -fp /Users/ppelleti/Library/Android/sdk/platforms/android-21/android.jar -sp /Users/ppelleti/programming/android/frege-on-android/FregeAndroid/src /Users/ppelleti/programming/android/frege-on-android/FregeAndroid/src/frege/android/app/Activity.fr"
Android.app.TaskStackBuilder: build failed because module is not on class path
Android.app.Fragment: build failed because module is not on class path
Android.app.LoaderManager: build failed because module is not on class path
[... omitted a bunch of similar lines ...]

任何想法都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2016-09-24 14:23:35

结果发现有几个问题,包括源路径和类路径的问题。我已经更新了my repository来解决这些问题。

但是,最终构建会失败,因为有来自FregeAndroid代码库的files missing。因此,要构建我的示例,有必要修复FregeAndroid包装器或编写新的包装器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39583032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档