我正在尝试使用Frege 语言编写一个 Android 应用程序。不幸的是,我不知道如何做到这一点的任何例子。
所以,我使用 Gradle 作为我的构建系统,带有 Android Gradle 插件。然后为了编译 Frege 代码,我使用 javaexec 在编译 Java 文件之前调用 frege 编译器,如本文中所建议的那样。
我成功地使用由 Java 代码调用的 Frege 代码构建了一个 Android 应用程序,如下所示。
但是,弗雷格代码只能调用标准的 Java API。它不能调用任何 Android API。
我希望能够从 Frege 调用 Android API。这里有一个不错的 repo ,其中包含 Android API 的 Frege 包装器。不幸的是,它没有构建系统或说明。
我相信我已经成功地设置了我build.gradle
的构建FregeAndroid
包装器以及我的项目代码。Frege 编译器确实在尝试构建它们。
但是,FregeAndroid
代码无法编译,因为它看不到 Android API 类。我假设我需要以某种方式找到 Android API 类的位置,然后将其添加到 Frege 编译器的类路径中,以便它可以看到这些类。不幸的是,这就是我卡住的地方。我是 Gradle 的新手,不知道该怎么做。
: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 ...]
任何想法将不胜感激!