Plug-ins Gradle de terceiros podem ser a causa


132

Após a atualização para o Android Studio 3.1, recebi esta mensagem de erro:

O projeto funciona bem e isso é apenas um aviso, então minha pergunta é qual é o significado do aviso e como posso me livrar dele?

As partes relevantes dos arquivos gradle:

Este é o meu projeto build.gradle

buildscript {
    ext {
        kotlin_version = '1.2.31'
        anko_version = '0.10.4'
        room_version = '1.0.0'
        support_version = '27.1.0'
        firebase_version = '12.0.0'
        gms_version = '12.0.0'
    }

    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
        maven { url 'https://maven.fabric.io/public' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
        maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' }
    }
}

E este é o build.gradlearquivo do meu aplicativo :

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 27
    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

1
de acordo com issuetracker.google.com/issues/74537216, esse problema foi corrigido no AS3.2
Angel Koh

Build> Rebuild Projecttrabalhou comigo
Zohab Ali 10/10

Respostas:


143

Para resolver o problema, remova Instant App Provision das "Executar configurações" e deixe apenas o Gradle-Aware Make.

Run -> Edit Configurations..

Minhas configurações de Executar / Depurar após a compilação bem-sucedida

Eu tenho a versão da biblioteca AndroidStudio 3.1, Gradle Plugin 3.1.0e Kotlin 1.2.30.


5
isso realmente funciona, mas qualquer ideia de por que isso estava acontecendo e como você chegou a essa solução.
humazed

59
e por alguma razão, após a exclusão Instant App Provisions, sempre retornando ao seu lugar.
humazed

3
Isso desabilita a execução instantânea?
Caleb_Allen

7
@Caleb_Allen não, mas ninguém usa a execução instantânea de qualquer maneira. Isto é para 'aplicações instantâneas', não instant run
Tim

4
Para quem sempre volta (como @humazed), encontrei uma solução: primeiro, vá Run > Edit Configurationsnovamente. Em seguida Edit Defaults, clique no botão com o ícone de chave inglesa na parte superior. Selecione Android Appe saia apenas Gradle-aware Makecomo antes. Clique em Aplicar.
b_yng

17

Reiniciei o Android Studio e o problema desapareceu.

Clique em Arquivo -> invalidar caches / reiniciar

Sempre que altero o arquivo gradle, devo reiniciar o Android Studio ou o problema volta.

Você também pode tentar isso:

  1. Reorganizou os repositórios para:

    mavenCentral()
    maven { url 'https://jitpack.io' }
    google()
    jcenter()
    
  2. Limpando esta pasta: ~ / .gradle / caches do usuário e excluindo a pasta de criação do aplicativo manualmente, limpe e reconstrua .


Mas ainda não consigo executar meu aplicativo, pois ele criará o projeto antes de iniciá-lo.
Infinite Loops

7

O que corrigiu o problema para mim:

  • Altere a versão do plugin gradle para 3.1.0
  • Altere a versão do Kotlin para 1.2.30
  • Em seguida, o Android studio mudou o wrapper gradle para a versão 4.4
  • Então, o Android studio estava dizendo que a versão das ferramentas de construção usada era 27.0.3e que eu deveria alterá-la para 27.0.3também alterar o SDK de destino para27
  • Adicionei isso ao meu gradle.build:

    kapt {
         generateStubs = true
     }
    

Espero que ajude


5

no android studio v3.1.2, acontecer erro:

Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\debug
Folder D:\AndroidProjects\app\build\generated\source\kaptKotlin\release
3rd-party Gradle plug-ins may be the cause

porque dataBinding usar apply plugin: 'kotlin-kapt'para adicionar

kapt {
    generateStubs = true
}
  1. Altere a versão do plugin gradle para 3.1.2
  2. Altere a versão do Kotlin para 1.2.30
  3. Em seguida, o Android studio mudou o wrapper gradle para a versão 4.4
  4. Então o Android studio estava dizendo que a versão das ferramentas de construção usada era 27.1.1 e que eu deveria alterá-la para 27.1.1, então também mudei o SDK de destino para 27

5

Aqui estão alguns passos que eu segui. No meu caso, foi corrigido o problema!

Módulos de plataforma direcionados ao Android A atualização do recurso de projetos experimentais de multiplataforma apresenta suporte para os módulos da plataforma Android. Esses módulos devem aplicar o plug-in correspondente no script de construção do Gradle e podem usar o código compartilhado de um módulo comum:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-platform-android'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
// ...
// ...

Locais de diagnóstico do Kapt A partir de agora, o kapt, a ferramenta de processamento de anotações Kotlin, pode oferecer links para locais no código Kotlin original, em vez de stubs Java gerados, pois relata erros encontrados durante o processamento da anotação. Você pode ativar esse recurso adicionando estas linhas ao script de construção do Gradle (build.gradle):

kapt {
    mapDiagnosticLocations = true
}

Adicione isso:

allprojects {
        repositories {
            jcenter()
            google()
        }
    }

Não esqueça o próximo:

// Architecture Component - Room

     implementation "android.arch.persistence.room:runtime:1.1.0-beta1"
        kapt "android.arch.persistence.room:compiler:1.1.0-beta1"

      // Lifecyles, LiveData and ViewModel
    kapt 'com.android.databinding:compiler:3.1.0'


 // ViewModel and LiveData
    implementation "android.arch.lifecycle:extensions:1.1.1"

// alternatively, just ViewModel
    implementation "android.arch.lifecycle:viewmodel:1.1.1"

 // alternatively, just LiveData
     implementation "android.arch.lifecycle:livedata:1.1.1"
       kapt "android.arch.lifecycle:compiler:1.1.1"

 // Room (use 1.1.0-beta1 for latest beta)
    implementation "android.arch.persistence.room:runtime:1.0.0"
      kapt "android.arch.persistence.room:compiler:1.0.0"


// Paging
    implementation "android.arch.paging:runtime:1.0.0-alpha7"

        // Test helpers for LiveData
    testImplementation "android.arch.core:core-testing:1.1.1"

        // Test helpers for Room
 testImplementation "android.arch.persistence.room:testing:1.0.0"
  1. Limpe seu projeto

  2. Construa e é isso!

Adicione tudo isso, limpe seu projeto, construa e pronto! :) Deixe-me saber se isso funciona! (Se não estiver funcionando para você, eu o ajudarei com outra solução)

Mais informações: Site Android :) Deixe-me saber se funciona! (Se não funcionar, tentarei ajudá-lo a encontrar uma maneira melhor)

Se você der um downVote, explique por que


1
Adicionando a linha mapDiagnosticLocations = truepara kaptobras de configuração - Bem, às vezes, pelo menos: /
kuhnroyal

@kuhnroyal Aprecio seu feedback! Tenha um bom dia, eu continuo à procura de uma solução melhor
Cristofer

5

O que realmente ajudou para mim é adicionar isso

kapt {
     generateStubs = true
}

no build.gradle


3

No meu caso, nenhuma das soluções acima resolveu o meu problema, eu estava usando a versão 1.2.50 do Kotlin sem nenhuma menção ao Instant Run, e a compilação não estava gerando as classes Dagger, então descobri esta pergunta que resolveu meu problema, aparentemente , na minha situação, é um problema relacionado à nova versão do Kotlin, então eu fiz o downgrade para a versão 1.2.41 e funcionei bem. A propósito, acabei de rastrear até esse ponto porque usei a tela Alternar exibição na tela de compilação.

1: Selecione a Visualização Alternada e construa seu projeto

Alternar visualização

2: Você poderá ver exatamente o que aconteceu

Erro

Pergunta do Stackoverflow: o Kotlin 1.2.50 solicita baseFeatureInfoDir

Rastreador de problemas: https://issuetracker.google.com/issues/110198434


2

Tente remover o Instant run das configurações e o gradle estará pronto.

Funcionou para mim.


2

Aqui estão algumas etapas que eu segui e o problema foi corrigido no meu caso.

  1. Primeiro, instale a versão do plugin kotlin para '1.2.31' e atualize-a no arquivo build.gradle como abaixo.

dependências {classpath 'com.android.tools.build:gradle:3.1.0' classpath "org.jetbrains.kotlin: kotlin-gradle-plugin: $ 1.2.31"}

  1. Projeto Limpo.

  2. Finalmente, reconstrua o projeto.


1
  1. remover apply plugin: 'kotlin-kapt'
  2. adicione mavenCentral()em build.gradle como:

    allprojects { repositories { mavenCentral() google() jcenter() } }

  3. Projeto Sync and Clean

0

Aqui está uma abordagem de como eu corrigo esse problema no meu caso:

Primeiro, atualize a versão do plugin android gradle a partir do arquivo build do projeto e, em seguida, atualize a versão gradle a partir das propriedades gradle.

Por fim, atualize sua versão do kotlin (obrigatória) para kotlin_version = '1.2.30' ou posterior no arquivo gradle de compilação do projeto.

Agora tente limpar seu projeto e criar. O problema deve ser resolvido. Cada vez após a compilação, se você compilar novamente, provavelmente o problema ocorrerá novamente; basta limpar seu projeto novamente e compilar.


0

Isso acontece porque o processador de anotação Kapt usa esse diretório para armazenar arquivos gerados pelo Kotlin. O Android atualmente não reconhece o caminho por padrão.

Veja mais detalhes


0

Adicionando outra resposta para aqueles que não puderam removerInstant App Provision , porque continua reaparecendo.

Crie o projeto manualmente: ./gradlew assembleDebug

É um hotfix, mas funcionará (porque o problema provavelmente está relacionado ao Android Studio).


0

Eu tive esse problema ao usar o Realm com o kotlin no android studio.
Para resolver, siga estes passos:

  1. Depois de adicionar o Domínio ao projeto build.gradle, verifique se o arquivo build.gradle do aplicativo está assim:

    apply plugin: 'com.android.application'  
    apply plugin: 'kotlin-android'  
    apply plugin: 'kotlin-android-extensions'  
    apply plugin: 'kotlin-kapt'  
    apply plugin: 'realm-android'  
    .  
    .  
    .  
    androidExtensions {  
    experimental = true
    }
  2. Use em kaptvez das annotationProcessordependências build.gradle do seu aplicativo.

  3. Vá para Run -> Edit Configurations..e remova a Instant App Provisionopção.

  4. Execute este comando no terminal do Android studio:

    gradlew assembleDebug  
  5. Está certo !

Nota: Se você vir a mensagem "Plug-ins Gradle de terceiros podem ser a causa" novamente, siga as etapas 3 e 4 novamente.


0

Configuração sob demanda com Gradle 4.6 e superior: se você estiver usando o Android Gradle Plugin 3.0.x ou 3.1.x com Gradle 4.6 e superior, desabilite a configuração sob demanda para evitar erros imprevisíveis de compilação. (Se você estiver usando o Android Gradle Plugin 3.2.0 ou superior, não será necessário executar nenhuma ação para desativar a configuração sob demanda.)

Desative a configuração sob demanda no seu arquivo gradle.properties, como mostrado abaixo:

org.gradle.configureondemand = false Para desativar a configuração sob demanda nas configurações do Android Studio, escolha Arquivo> Configurações (Android Studio

Preferências no Mac), selecione a categoria Compilador no painel esquerdo e limpe a caixa de seleção Configurar sob demanda.

No Android Studio 3.2 Beta 1 e superior, as opções para ativar a configuração sob demanda foram removidas. Leia a seção de problemas conhecidos no link abaixo. insira a descrição do link aqui


0

Na verdade, eu também estava enfrentando o mesmo erro. O que fiz foi atualizar minha versão do kotlin para a mais recente . Isso pode resolver seu problema.


-4

Bem, eu descobri que é por causa de apply plugin: 'kotlin-kapt', se você excluir esta linha no build.gradle (app), então você criará com sucesso ...

Não faço ideia por que esse plug-in resulta nesses avisos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.