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 に答える