簡體   English   中英

j2objc gradle插件-在項目應用中找不到路徑為“ test”的任務

[英]j2objc gradle plugin - Task with path 'test' not found in project app

我正在嘗試使用j2obc作為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]

j2objc插件現已修復,可用於翻譯Android應用程序項目。 請注意,j2objc並非旨在翻譯整個應用程序-僅用於翻譯業務邏輯。 理想情況下,應通過良好的單元測試將其與UI層完全隔離,並且理想情況下,應將其獨立於Java且沒有Android依賴項。 UI層應使用每種平台的本地語言來實現。 要解決此問題,請下載插件的更新版本:

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

此處有更多詳細信息:

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

歷史錯誤說明:

該插件取決於Java插件中的“測試”任務,因此在執行翻譯之前,它將編譯並測試Java代碼和單元測試。 這是為了確保您的代碼正確並可以在Java中正常工作,然后再嘗試轉換為Objective-C。 這就是為什么最好有一個單獨的共享Java項目,而沒有任何Android依賴項並單獨進行轉換。

當應用'com.android.application'gradle插件時,該插件當前尚不設計用於翻譯項目( 如上所述,此問題現已修復 )。 我將在可能的情況下進行修復,或者提供更好的錯誤說明。

要暫時刪除此依賴項(盡管我不知道還有哪些其他部分可能會失敗),請從j2objc.gradle的以下部分中刪除dependsOn: "test"

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

我是j2objc插件的作者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM