카테고리 보관물: 안드로이드

안드로이드

RegisterResGeneratingTask는 더 이상 사용되지 않습니다. registerGeneratedFolders (FileCollection)를 사용하십시오. 3.0.0 Gradle 플러그인과 함께

새로운 3.0.0 Gradle 플러그인과 함께 새로운 android studio 사용.
경고가 발생할 때 :

registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)



답변

내가 알 수 있듯이 클래스 경로 종속성으로 추가 된 플러그인은 문제를 일으킬 것입니다. 즉 Firebase 에 문제가 있습니다. 숟가락플러터 . 이 Google 검색을 수행하면 동일한 문제로 인해 발생하는 많은 GitHub 저장소가 표시되며 공통적으로 Gradle 플러그인이라는 사실 만 있습니다. 원단에 의해 언급 한 바와 같이,뿐만 아니라 원인으로 나타납니다 메이트 *

내가 알 수있는 문제는 여러 Gradle 플러그인에서 발생합니다. Gradle 코드로 트리거 할 수도 있지만 프로젝트가 Gradle 플러그인이 아닌 앱 인 경우에는 해당되지 않습니다.

Alex Cohn 이 코멘트에서 언급했듯이 사용 중단은 경고입니다. 이 경우 결국 제거 될 기능입니다. 지금은 플러그인이라고 가정하면 무시할 수 있습니다. 제거 될 때까지 대부분 / 모든 주요 플러그인을 업데이트하여 수정해야합니다.

그리고 다시 경고입니다. 오류가 아닙니다. 여전히 실행할 수 있으며 문제에 대해 할 수있는 일이 없으면 무시해도됩니다. 예를 들어 Fabric * 플러그인은 여전히 ​​작동하기 때문에 과잉입니다.

나는 Fabric을 직접 사용하지 않고 Fabric은 오픈 소스가 아니므로 개발자가 수정했는지 여부를 모르겠습니다.

TL; DR : Gradle 플러그인이 원인입니다. 경고 (오류가 아님)이므로 문제를 일으키는 플러그인을 제거하는 것은 과도합니다. 문제를 해결할 수없는 경우 현재 사용 중지 된 상태 (삭제되지 않은 상태) 만 그대로 두십시오.


Firebase를 사용하는 경우 이전 가이드 (이 게시물 뒷부분에 링크 됨)에 언급 된 특정 솔루션이 있습니다. 구아바 모듈을 제외

classpath ('com.google.firebase:firebase-plugins:1.1.0') {
    exclude group: 'com.google.guava', module: 'guava-jdk5'
}

문제 자체는 감지하기가 매우 어렵습니다. 내가 알 수 있듯이, 내가 확인한 모든 플러그인 에서이 문제를 일으키는 단일 문제는 없습니다 (이 답변에 링크되어 있음). 문제를 일으키는 무언가를 코딩했다면 (이 문제를 해결할 수 있습니다; 타사 gradle 플러그인을 추가해도 문제가 발생하지 않습니다) 문제를 해결하려고 시도 할 수있는 것이 있습니다.

실제 원인으로 알 수 있듯이 TestVariantGradle 플러그인 3.0.0 마이그레이션 안내서의 주제를 따라 Gradle 파일을 업데이트하면 해결됩니다 (Spoon 라이브러리에서는 관련 행을 변경하여 수정되었습니다 ).

전체 는 개발자 docs에 의해 다루어 지지만 여기에 문제가 발생한 프로젝트에 대한 풀 요청을 기반으로 관련성이 있다고 생각되는 것들이 있습니다.

Gradle 버전과 플러그인을 업데이트하는 것 외에도에 google()repo 를 추가해야합니다 repositories.

compile현재 implementation또는 api이지만 implementation권장되는 것입니다.

provided이다 compileOnlyapk이다runtimeOnly

androidTestCompile이되었다 androidTestImplementation, 그리고 testCompile->testImplementation

맛을 사용하는 경우 맛 차원 (문서에 포함)을 사용해야합니다.

빌드 유형의 경우 해당 빌드 유형이없는 라이브러리가있는 경우 대체를 포함해야합니다. 이들은 profile블록 아래의 android블록에 정의되어 있습니다.

아직 완료되지 않은 경우 gradle 플러그인을 먼저 정의해야합니다. 다른 클래스 경로 종속성이 없으면 문제가되지 않습니다. 그러나 그렇게하면 gradle 플러그인이 먼저 정의되어 있는지 확인하십시오.

를 사용하는 경우 수업 시간에 testVariants전화하지 마십시오 testedVariant. Spoon 라이브러리의 원인으로 보입니다.

내가 알 수 있었던 것에서이 문제는 문제를 해결하기 위해 변경된 내용 중 일부입니다.


답변

Play 서비스 Gradle 플러그인 com.google.gms:google-services을 version과 함께 사용하고 4.2.0있습니다.

소스 코드에서 다음을 볼 수 있습니다.
여기에 이미지 설명을 입력하십시오

그래서 저에게는 이것이 경고의 이유였으며 플러그인이 수정 될 때까지 제거 할 수 없습니다. 문제는 여기에 있습니다

@Zoe가 언급했듯이 이것은 다른 Gradle Plugins에서도 나올 수 있습니다.

베스트


답변

이 문제는 Google 서비스 플러그인 버전 4.3.0에서 해결되었습니다 ( 이 커밋으로 해결됨 ).

buildscript {
    dependencies {
        // Change version to 4.3.0
        classpath 'com.google.gms:google-services:4.3.0'
    }
}

여기 에서 발견


답변

최신 버전의 Fabric Gradle Plugin으로 업데이트하면이 문제가 해결됩니다.

변경 로그에서 :

  • “registerResGeneratingTask”지원 중단 경고가 수정되었습니다.

https://docs.fabric.io/android/changelog.html#march-15-2018


답변

제 경우에는 Android 지원 라이브러리의 버전이 일치하지 않아서 발생했습니다. 모든 모듈을 최신 버전 (28.0.0)으로 업데이트하여 해결했습니다.


답변

Fabric을 올바르게 설치하면이 문제가 해결되었습니다.

import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;

public class MyApplication extends Application {


    @Override
    public void onCreate() {
        super.onCreate();
        Fabric.with(this, new Crashlytics());

    }
}

build.gradle

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

dependencies {
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
}

repositories {
    mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
}


답변

이 오류 메시지와 다른 많은 사람들이

x-version is deprecated and use y-version instead and it'll be removed in 2019

내 모든 프로젝트가 갑자기 동일한 오류 메시지를 표시하기 시작했습니다.

Android Studio에서 바이러스 백신 프로그램에 대한 경고를 표시했습니다. 구성을 시도했지만 작동하지 않았습니다.

마지막으로 시스템에서 QuickHeal 바이러스 백신을 제거했으며 이제 모두 정상입니다.