3.0으로 업데이트 한 후 Gradle 빌드 실패
최근에 내 프로젝트의 gradle 버전을 2.14.1에서 3.0으로 업데이트했습니다. 그 이후로 gradle 빌드는이 오류로 매번 실패합니다.
오류 : 원인 : org.gradle.api.internal.tasks.DefaultTaskInputs $ TaskInputUnionFileCollection을 org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection으로 캐스팅 할 수 없습니다.이 예기치 않은 오류의 가능한 원인은 다음과 같습니다.
Gradle 프로세스가 손상된 경우 IDE를 닫은 다음 모든 Java 프로세스를 종료 할 수도 있습니다.
- Gradle의 종속성 캐시가 손상되었을 수 있습니다 (이는 때때로 네트워크 연결 시간 초과 후에 발생합니다.) 종속성을 다시 다운로드하고 프로젝트를 동기화합니다 (네트워크 필요).
- Gradle 빌드 프로세스 (데몬)의 상태가 손상되었을 수 있습니다. 모든 Gradle 데몬을 중지하면이 문제를 해결할 수 있습니다. Gradle 빌드 프로세스 중지 (다시 시작해야 함)
- 프로젝트에서 프로젝트의 다른 플러그인 또는 프로젝트에서 요청한 Gradle 버전과 호환되지 않는 타사 플러그인을 사용하고있을 수 있습니다.
나는 구글 검색과 같은 몇 가지 해결책을 발견했습니다 이 하나 아무것도 작동하지 않습니다. 누구든지 그것을 고치는 방법을 알고 있습니까?
Gradle 빌드 도구를 최신 버전으로 업그레이드하십시오.
이를 수행하는 한 가지 쉬운 방법은 최신 버전의 빌드 도구를 build.gradle
파일에 종속성으로 추가하는 것 입니다. 예를 들면 다음과 같습니다.
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0-beta1'
}
그런 다음 실행 gradle tasks
하면 gradle이 필요한 모든 것을 다운로드합니다.
2016 년 9 월 19 일에 Android Studio 2.2 안정 버전이 출시 된 후 빌드 도구의 최신 버전은 2.2.0입니다. 따라서 다음과 같이 수정할 수 있습니다.
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
}
Android Studio 2.4 안정 버전은 아직 출시 할 준비가되지 않았으므로 (2017 년 5 월 4 일) 빌드 도구의 최신 안정 버전은 2.3.1입니다.
dependencies {
classpath 'com.android.tools.build:gradle:2.3.1'
}
이 빌드 도구 버전을 2.3. *로 업데이트하는 경우 /yourProjectRoot/gradle/wrapper/gradle-wrapper.properties 파일에서 gradle 래퍼 버전도 3.3으로 업데이트해야합니다. (일치하는 질문이 아니라는 것을 알고 Gradle build failing after update to 3.0
있지만 Google이 권장하는 최신 빌드 도구를 사용하는 것이 좋습니다)
BTW : 빌드 도구 버전 2.3.1은 MavenCentral이 아닌 jCenter에만 존재하므로 터미널에서 gradlew 명령 줄을 실행할 때 아래 오류가 발생하는 경우
Could not find com.android.tools.build:gradle:2.3.1.
Searched in the following locations:
https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.3.1/gradle-2.3.1.pom
https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.3.1/gradle-2.3.1.jar
mavenCentral ()을 jcenter ()와 같이 바꾸십시오.
repositories {
jcenter()
//mavenCentral()
}
Android Studio 3.0의 최신 업데이트
에서 gradle-wrapper.properties
의 (파일 이름) 변경 URL distributionUrl
다음과 :
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
Gradle 플러그인 2.1.3을 사용하면 간단하게 해결할 수 있습니다.
gradle 플러그인을 버전 2.2.0-beta1으로 업데이트하십시오.
참고 : 이것은 베타 버전이므로 다른 문제가 발생할 수 있습니다.
https://discuss.gradle.org/t/classcastexception-in-gradle-nightly-3-0-20160609/17979
해피 코딩 :)
알았어. 같은 문제에 직면 한 사람을 위해 그것이 나를 위해 일한 방식은 다음과 같습니다.
- 외부 .gradle 폴더로 이동합니다 (저는 C : \ Users \ drilon.gradle). 캐시와 데몬 폴더 내에서 모든 버전 폴더를 삭제합니다 ( "2.14.1"또는 "3.0"처럼 보입니다). 또한 wrapper-> dists-> 모든 것을 삭제하십시오.
- 프로젝트 루트 (저는 C : \ Users \ drilon \ AndroidStudioProjects \ PorjectName) 내에서 .gradle 폴더로 이동하여 거기에있는 모든 것을 삭제합니다.
- 프로젝트 재 구축
편집 :
이 솔루션은 gradle 버전을 2.14.1로 다시 설정했습니다. ending0421의 솔루션이 작동하는 것입니다.
gradle 버전이 3.0.1이면 gradle-wrapper.properties에서 아래 코드를 사용하십시오. distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
3.1.2이면 gradle-wrapper.properties에서 아래 코드를 사용하십시오. distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
Android Studio 3.3.1 의 최신 업데이트는 아래 코드 작업입니다.
1) gradle-wrapper.properties는 아래 줄에 추가합니다.
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
2) build.gradle 에서 프로젝트 수준의 클래스 경로 아래에 추가
dependencies
{
classpath 'com.android.tools.build:gradle:3.1.0'
}
메인 프로젝트 폴더의 gradle 폴더 안의 모든 것을 삭제하고 프로젝트를 다시 빌드하십시오. 작동하기 시작합니다.
귀하의 경우 Gradle을 플러그인 3.0.0 스튜디오 버전 3.0은이 추가 gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
간단한 대답은 이것을 시도하십시오 ...
build.gradle (PROJECT)로 이동하고 아래와 같이 gradle 버전을 확인하십시오.
'com.android.tools.build:gradle:2.1.3'또는 3.0 또는 3.1 또는 xx.xx
now open gradle-wrapper.properties see this line of code if gradle version is 2.x this the code below...
distributionUrl=https://services.gradle.org/distributions/gradle-2.14.1-all.zip
gradle-2.14.1-all.zip line of code must be same as gradle version
example:
example: mine is 2.x so... classpath 'com.android.tools.build:gradle:2.1.3' in build.gradle so
distributionUrl=https://services.gradle.org/distributions/gradle-2.14.1-all.zip in gradle-wrapper.properties.
if gradle version is 3.x then classpath 'com.android.tools.build:gradle:3.1.0' in build.gradle then
distributionUrl=https://services.gradle.org/distributions/gradle-3.14.1-all.zip in gradle-wrapper.properties.
check this it will works
if Android Studio Android Studio 3.0 below code work.
gradle-wrapper.properties add below line.
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
if Android Studio Android Studio 3.1.2 below code work.
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
if Android Studio 3.3.1 below code work.
1) gradle-wrapper.properties add below line.
distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.zip
2) build.gradle in project level add below
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
}
After 1 hour R&D No Solution as worked for me...
But still i have solution follow this its work 100%
step 1: upgrade your build.gradle(Project:<your project name>)
Example : classpath 'com.android.tools.build:gradle:2.1.3' // old gradle file
classpath 'com.android.tools.build:gradle:2.3.1' // upgraded file
OR
classpath 'com.android.tools.build:gradle:3.1.0'
Step 2 : Upgrade compileSdkVersion buildToolsVersion
Example : compileSdkVersion 23 buildToolsVersion "23.0.3 // old api's
compileSdkVersion 25 buildToolsVersion "25.0.2" // upgraded api's
Step 3: upgrade gradle-wrapper.properties
Example : distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip // old or any version
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip // new or any version
Step 4 : finally goto build>rebuild project...
Still You face some problem commit or inbox me....
......End @Ambilpura
참고URL : https://stackoverflow.com/questions/39034655/gradle-build-failing-after-update-to-3-0
'IT박스' 카테고리의 다른 글
ECMAScript 2015 : for 루프의 const (0) | 2020.11.08 |
---|---|
Django의 collectstatic의 요점은 무엇입니까? (0) | 2020.11.08 |
C # 조건부 AND (&&) OR (||) 우선 순위 (0) | 2020.11.08 |
목록에서 여러 요소 선택 (0) | 2020.11.08 |
Bash에서 2D 배열을 선언하는 방법 (0) | 2020.11.08 |