我正在尝试使用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
: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 ...]任何想法都将不胜感激!
发布于 2016-09-24 14:23:35
结果发现有几个问题,包括源路径和类路径的问题。我已经更新了my repository来解决这些问题。
但是,最终构建会失败,因为有来自FregeAndroid代码库的files missing。因此,要构建我的示例,有必要修复FregeAndroid包装器或编写新的包装器。
https://stackoverflow.com/questions/39583032
复制相似问题