0

我正在尝试使用 j2obc for gradle 将我的 android 应用程序移植到 iOS,但是我收到了这个错误并且似乎无法弄清楚如何修复它。

完整的东西:

13:43:50.477 [ERROR] [org.gradle.BuildExceptionReporter]
13:43:50.482 [ERROR] [org.gradle.BuildExceptionReporter] FAILURE: Build failed with an exception.
13:43:50.489 [ERROR] [org.gradle.BuildExceptionReporter]
13:43:50.492 [ERROR] [org.gradle.BuildExceptionReporter] * What went wrong:
13:43:50.496 [ERROR] [org.gradle.BuildExceptionReporter] Could not determine the dependencies of     task ':app:j2objcTranslate'.
13:43:50.499 [ERROR] [org.gradle.BuildExceptionReporter] > Task with path 'test' not found in     project ':app'.
13:43:50.503 [ERROR] [org.gradle.BuildExceptionReporter]
13:43:50.506 [ERROR] [org.gradle.BuildExceptionReporter] * Try:
13:43:50.510 [ERROR] [org.gradle.BuildExceptionReporter] Run with --stacktrace option to get the     stack trace.
13:43:50.517 [LIFECYCLE] [org.gradle.BuildResultLogger]
13:43:50.523 [LIFECYCLE] [org.gradle.BuildResultLogger] BUILD FAILED
13:43:50.529 [LIFECYCLE] [org.gradle.BuildResultLogger]
4

1 回答 1

0

j2objc 插件现在已修复,可用于翻译 Android 应用程序项目。请注意,j2objc 并非旨在翻译您的整个应用程序 - 仅翻译业务逻辑。理想情况下,这应该通过良好的单元测试与 UI 层完全分离,最好是一个没有 Android 依赖项的单独 Java 项目。UI 层应该以每个平台的本地语言实现。要解决此问题,请下载插件的更新版本:

https://gist.github.com/brunobowden/58d6e311ab96760fc371

更多细节在这里:

https://github.com/google/j2objc/blob/master/README.md

历史错误说明:

该插件依赖于 Java 插件的“测试”任务,因此在进行翻译之前,它将编译和测试 Java 代码和单元测试。这是为了确保您的代码在尝试转换为 Objective-C 之前是正确的并且可以在 Java 中运行。这就是为什么最好有一个没有任何 Android 依赖项的单独共享 Java 项目并单独翻译。

当应用 'com.android.application' gradle 插件时,该插件目前并未设计为翻译项目(现在已修复,如上所述)。如果可能,我将对此进行修复或提供更好的错误解释。

要暂时删除此依赖项(尽管我不知道其他部分可能会失败),请dependsOn: "test"从 j2objc.gradle 的以下部分中删除:

tasks.create(name: "j2objcTranslate", type: J2objcTranslateTask,
        dependsOn: "test") {

我是 j2objc 插件的作者。

于 2014-12-23T21:16:28.553 回答