2014-06-15 2 views
5

Android 라이브러리 프로젝트의 Gradle 플러그인을 업데이트하고 싶습니다. 새 버전은 0.10.4입니다. Gradle 포장지는 1.10입니다. 프로젝트에서 ./gradlew install을 실행하면 다음과 같은 경고이 나타납니다.toString() 메소드를 사용하여 파일로 DefaultAndroidSourceDirectorySet을 사용하지 않음

Converting class com.android.build.gradle.internal.api. \ 
DefaultAndroidSourceDirectorySet to File using toString() method has 
been deprecated and is scheduled to be removed in Gradle 2.0. 
Please use java.io.File, java.lang.String, java.net.URL, or java.net.URI instead. 

모르겠습니다 만 표시된 선은 원인해야

// build.gradle 

task androidJavadocs(type: Javadoc) { 
    source = android.sourceSets.main.java // <---- 
} 

task androidJavadocsJar(type: Jar) { 
    classifier = 'javadoc' 
    from androidJavadocs.destinationDir 
} 

task androidSourcesJar(type: Jar) { 
    classifier = 'sources' 
    from android.sourceSets.main.java // <---- 
} 

가 어떻게 코드를 다시 작성할 수는 경고 없애?

+0

'project.file (android.sourceSets.main.java)'을 시도하십시오. 어쩌면 도움을 줄 수는 없지만 시도 할 가능성은 확실하지 않습니다. – Opal

+0

같은 경고. 정확한 코드 소스를 식별 할 수 있도록 관련 라인의 ** 라인 번호 **를 출력 할 수있는 방법을 알고 있습니까? – JJD

+0

가능한지조차 알지 못합니다. 하지만'-d' 스위치 (debug)로 스크립트를 실행할 수 있습니다. 출력은 훨씬 더 크지 만 원인을 찾기가 더 쉬울 것입니다 (아마도). – Opal

답변

10

android.sourceSets.main.java에는 예상 유형이 없습니다. File[]을 기대하는 것으로 전달하고 있지만 실제로는 com.android.build.gradle.internal.api.DefaultAndroidSourceDirectorySet입니다. API for Android sourceSets을 보면 sourceDirs 메서드를 사용하여 원하는 결과를 얻을 수 있습니다. 따라서 다음과 같이 작업을 설정하십시오 :

task androidJavadocs(type: Javadoc) { 
    source = android.sourceSets.main.java.srcDirs 
} 
+0

downvote, brain lock down에 대해 유감스럽게 생각합니다. upvote : – dwbrito