2014-12-23 3 views
0

내 안드로이드 응용 프로그램을 iOS로 포팅하려면 grad2에 j2obc를 사용하려고하는데,이 오류가 발생하여 알 수없는 것 같습니다. 그것을 고치는 법.j2objc gradle plugin - 'test'경로가있는 작업이 프로젝트 앱에 없습니다.

전체 일은 :

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] 

답변

0

j2objc 플러그인은 이제 안드로이드 응용 프로그램 프로젝트를 번역하는 작업을 고정됩니다. j2objc는 비즈니스 논리만으로 전체 응용 프로그램을 번역하도록 설계되지 않았습니다. 이상적으로 이것은 좋은 단위 테스트와 안드로이드 의존성이없는 별도의 Java 프로젝트를 통해 UI 레이어와 완전히 분리되어야합니다. 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 플러그인이 적용될 때 프로젝트를 번역하도록 설계되지 않았습니다 (). 이제는과 같이 수정되었습니다. 가능한 경우 수정하거나 더 나은 오류 설명을 제공하기 위해이 작업을 수행 할 것입니다. 나는 j2objc의 저자 해요

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

: (나는 다른 부분이 실패 할 수 있습니다 모르겠어요하지만)

는 j2objc.gradle의 다음 부분에서 dependsOn: "test"을 제거, 일시적으로이 종속성을 제거하려면 플러그인.