Estou tentando reconstruir meu projeto Android Studio Gradle (contendo principalmente o código Kotlin), mas ele começou a gerar um UnableToDeleteFileException
durante o processo de limpeza / reconstrução:
Execution failed for task ':app:clean'.
> Unable to delete file: C:\Users\User\KotlinGameEngine\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.1\jars\classes.jar
Isso começou a acontecer depois que tentei alterar a estrutura de pacotes do meu projeto. Infelizmente, eu fiz isso renomeando e movendo as pastas de origem em vez de refatorar através do Android Studio, o que foi uma má ideia.
Estive procurando uma solução para esse problema o dia todo, e estas são as coisas que tentei sem sucesso:
- Fazendo uma sincronização Gradle;
- Reinstalando o Java JRE e Java SDK;
- Reinstalar a versão mais recente do Android Studio (1.4);
- Revertendo para a versão AS anterior (1.3);
- Invalidar o cache do AS e reiniciar;
- Excluindo os diretórios
gradle
e.gradle
no diretório do projeto; - Excluindo o
.gradle
diretório no meu diretório de usuário; - Executando a
gradlew clean
partir do terminal AS; - Copiando manualmente as fontes para um novo projeto (estranho que de alguma forma persista nos projetos ...)
Coisas que tentei com um pouco de sucesso, mas só me permitem executar mais uma limpeza e reconstrução antes que o erro ocorra novamente:
- Fechando o AS, excluindo manualmente os arquivos de compilação e abrindo-o novamente;
- Matar o
java.exe
processo enquanto o AS está em execução (isso pode ser feito tecnicamente sempre, mas é entediante e atrasa o processo de compilação)
Portanto, parece que a compilação do processo Java pode bloquear os arquivos de construção por algum motivo, mas também pode ter alguma coisa a ver com o Kotlin. Eu tenho um projeto Java Android (mais maduro) no qual estou trabalhando, embora não possa reproduzir esse erro ao limpá-lo. Parece que só aconteceu com o meu projeto Kotlin.
Atualizar:
Descobri que o problema está sendo causado pelo plug-in Kotlin Android. O problema desaparece quando eu removo apply plugin: 'kotlin-android'
o build.gradle
arquivo do módulo e volta quando o reinseri. Sinta-se livre para oferecer qualquer insight sobre isso.
Atualização 2:
A última atualização não é a causa. Descobri que, se um projeto contiver um arquivo Kotlin, a reconstrução e a limpeza falharão. Ele continua com falha, mesmo que todos os arquivos do Kotlin sejam removidos, até que o processo Java em segundo plano seja interrompido, o que significa que ele tem algum tipo de bloqueio nos arquivos de construção. Enviei um erro aqui com mais detalhes e etapas para reproduzir o bug: KT-9440
Respostas:
Se você estiver usando o Android Studio 2.0 Beta, esse problema poderá aparecer (provavelmente se você estiver trabalhando no sistema de arquivos NTFS) e parecer que o "Instant Run" é o culpado. Procure por "Instant Run" nas configurações e desmarque a caixa.
Arquivei um problema no rastreador de erros.
fonte
Eu matei todos os processos Java TM no gerenciador de tarefas e ele me permitiu reconstruir
fonte
gradle --stop
para parar todos os daemons presos como alternativa.Tente Arquivo -> Invalide Caches e Reinicie
Isso funcionou para mim
fonte
Depois de publicar um relatório de bug no rastreador de erros Kotlin, fui notificado sobre o problema 61300 no rastreador AOSP. Essa parece ser a causa. Como não há nada que eu possa fazer no momento, marcarei esta pergunta como respondida e atualizarei a resposta se o bug for corrigido.
Enquanto isso, se você estiver executando o Windows, acredito que encontrei uma solução alternativa. Você precisará fazer o download do LockHunter (por sua conta e risco) e adicionar o seguinte ao
gradle.build
arquivo do seu módulo , substituindo alockhunter
variável pelo caminho para o LockHunter.exe:Isso faz com que o LockHunter desbloqueie com força e silenciosamente e exclua os arquivos de compilação quando a tarefa app: clean for executada.
fonte
Limpe o projeto do Terminal usando este comando
gradlew clean
.fonte
./gradlew clean
Ubuntu. (Ele será executado ogradlew
executável a partir do diretório do projeto.)./gradlew clean
não resolveu esse problema para mim. Ele mostrou o mesmo erro novamente ou seja, "incapaz de diretório de exclusão"A exclusão do diretório
intermediates
é uma solução rápida para o problema.O diretório será reconstruído quando o projeto for reconstruído.
fonte
Eu estava enfrentando o mesmo problema na visualização 1 do Android Studio 2.2, a solução da @AndresSuarez estava correta, mas por alguns motivos não consegui encontrar o processo JAVA TM no meu gerenciador de tarefas. Então, tentei a seguinte solução e funcionou -
Abra o prompt de comando e digite
TASKKILL /F /IM java.exe
. Isso matará todos os processos JAVA TM automaticamente. Agora, recompile o aplicativo novamente, ele funcionará.Além disso, você pode criar um arquivo .bat , adicionar o código acima e executá-lo sempre que enfrentar o problema.
fonte
Eu tive esse problema no Android Studio 2.3.
Eu simplesmente reiniciei o Android Studio e depois disso eu pude limpar sem queixas.
fonte
Para mim, isso aconteceu devido a um processo de depuração ativo . Portanto, antes de limpar ou reconstruir, certifique-se de matar todos os processos ativos. Para determinar o sucesso, execute Invalidate Caches / Restart .
fonte
Eu tive o mesmo problema e isso funcionou para mim:
fonte
Eu resolvi com o comando:
e depois:
fonte
Eu resolvi este no meu ubuntu assim.
Verifique os processos em execução no seu sistema (Ubuntu) como no gerenciador de tarefas no Windows.
Comando terminal do Ubuntu para listar todos os processos em execução ----> "gnome-system-monitor"
Encerre ou encerre os processos JAVA e ANDROID na lista.
Funciona para mim sem problemas. Espero que isto ajude...
Eu pensei que este era o problema com o processo que já foi criado e duplicado.
fonte
Para mim, ajuda quando
Exit Android Studio
clico mais uma vezClean Project
(aparece o mesmo erro) e no próximo cliqueMake Project
- depois doRun 'app'
botão claro no Android Studio.fonte
Encontre programas que usaram a pasta app / build / outputs / apk e exclua a pasta.
Acho que o Android Studio precisa excluir a pasta apk antiga antes da reconstrução.
fonte
Às vezes, os intermediários criam um problema, então exclua-o e reconstrua o projeto
OU
basta executar o comando cmd -> gradlew clean
na pasta do seu projeto no espaço de trabalho (é o trabalho para mim)
fonte
A solução é bastante fácil.
Essa é uma das soluções que funcionou para mim.
então feche esta pasta e reconstrua seu projeto. e será resolvido.
fonte
Conforme sugerido no relatório de erros , descomente a linha
no
idea.properties
arquivo resolveu o problema para mim.Observe que isso precisa ser feito sempre que o Android Studio for atualizado.
fonte
Para mim, o culpado é adb segurando o arquivo apk, já que eu o utilizo para instalar e iniciar o aplicativo no meu dispositivo físico através da linha de comando.
Então simplesmente:
E então o arquivo fica livre para ser excluído e o projeto pode ser limpo
fonte
reagir desenvolvedores nativos
corre
e se você quiser liberar apk
Espero que ajude alguém
fonte
Se você estiver testando com um back-end local (servlet java no mecanismo local do google app), o processo em execução bloqueia alguns arquivos. Portanto, você não pode viver implantado. Portanto, nesse caso, você pode resolver isso interrompendo o back-end local antes de iniciar a limpeza ou a compilação. Você encontra a opção em "Executar -> Parar back-end".
fonte
No Android Studio 3.0, tive o mesmo problema. Isso corrigiu:
fonte
Eu tive o mesmo problema depois de mover meu projeto de D: para G: unidade, mas a verificação de disco resolveu meu problema
Eu usei chkdsk / f / r / x G: ** aqui algumas opções de linha de comando foram usadas: **
/ F Corrige erros no disco
/ R Localiza setores defeituosos e recupera informações legíveis (implica / F)
/ X Força o volume a desmontar primeiro, se necessário (implica / F) (importante)
Nota: / X é importante porque desmontará a unidade e você poderá excluir manualmente o diretório de compilação do seu projeto,
agora reconstrua o projeto
fonte
Acabei de resolver esse problema exato para mim.
O problema era que outra pessoa havia criado o arquivo e, embora eu tenha direitos de administrador no computador, não foi possível fazer alterações no arquivo. Você precisa acessar as propriedades do arquivo ou pasta e alterar a propriedade ou adicionar propriedade. Esta página da web explica bem passo a passo o que você precisa fazer.
Depois de fazer o acima, encontrei o arquivo no explorador de arquivos e o extraí manualmente. Eu não acho que é necessário no projeto android studio se ele estava tentando excluí-lo de qualquer maneira.
fonte
Outra aplicação que pode estar usando os recursos é aparentemente o Kotlin REPL do Android Studio. Fechei isso, e então eu poderia construir novamente sem problemas.
fonte
Esse problema me apareceu no canal estável do android studio 2.0 e a solução ocorreu devido a um problema durante a atualização do meu android studio. Resolvi isso instalando um novo android studio. depois de excluir todos os arquivos antigos da instalação antiga. e para manter o ótimo recurso do Instant Run
fonte
se você ainda estiver com problemas, atualize para a versão mais recente do Android Studio (sua 2.1 a partir de agora), pode ser que tenha ocorrido um erro na versão mais antiga do Android Studio. Está resolvido para mim agora.
fonte
A limpeza do projeto no Android studio e a execução novamente corrigiram o problema. Pode ser que faça "Make Project" também.
fonte
Eu tive o mesmo problema e resolvi movendo a pasta do projeto para a partição ext4
fonte
Eu tive o mesmo erro, tentei de várias maneiras, mas a solução funcionou para mim foi excluir pastas de criação dos diretórios / android e / android / app.
correr
react-native run-android
funcionou para mim.fonte
Eu o resolvi pesquisando globalmente o diretório ausente no projeto. exclua todos os arquivos que contenham essa palavra-chave. ele pode ser limpo com êxito depois que eu removo todos os diretórios
build
e.externalNativeBuild
manualmente.fonte