Depois de atualizar o Android Studio para a versão 1.3.0, recebo o erro “A integração do NDK está obsoleta no plugin atual”.

89

Eu atualizei meu Android Studio para a versão 1.3.0 antes de 3 dias.

Antes eu posso usar o NDK e agora estou recebendo erros como,

Erro: (50, 0) Erro: a integração do NDK foi descontinuada no plug-in atual. Considere tentar o novo plugin experimental. Para obter detalhes, consulte http://tools.android.com/tech-docs/new-build-system/gradle-experimental . Defina "android.useDeprecatedNdk = true" em gradle.properties para continuar usando a integração NDK atual.

Não consigo encontrar o arquivo gradle.property no nível do projeto.

Como posso resolver esse erro?

AndiGeeky
fonte
@ EthicsDev: leia minha resposta totalmente descritiva.
AndiGeeky
Isso é um erro ou apenas um aviso?
IgorGanapolsky
@ Igor Ganapolsky: É um erro .. !!
AndiGeeky

Respostas:

214

Aqui está como resolver esse problema:

  1. adicione o gradle.propertiesarquivo à pasta raiz do seu projeto
  2. adicionar 'android.useDeprecatedNdk=true'ao gradle.propertiesarquivo

Aqui está meu gradle.properties:

# Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true

android.useDeprecatedNdk=true

E adicione-o à raiz do seu projeto:

localização de gradle.properties

E reconstrua seu projeto. É isso aí.

AndiGeeky
fonte
após adicioná-lo, estou tendo o seguinte erro: exceção durante o trabalho com sistema externo:
Kishan Soni
@Kishan Soni: Por favor, poste uma pergunta com seu arquivo Gradle .. Haverá algum erro em seu projeto .. !!
AndiGeeky
Sempre que eu mudo o plugin do gradle para 1.2.3, tudo funciona bem, mas se eu mudar a versão do plugin para 1.5.0 novamente ocorre um erro. Mas eu preciso usar 1.5.0 apenas, mas nada funciona bem.
Kishan Soni
@Kishan Soni: Para a versão 1.2.3 acima, você deve usar o 'plugin experimental' para NDK .. !!
AndiGeeky
1
Você tem alguma ideia de como usar ou trabalhar com o "Pugin Experimental", é bastante difícil e não encontrei nenhum tutorial a respeito :(
Kishan Soni
3

Acontece principalmente quando você migra seu projeto do eclipse para o Android Studio, ou quando você simplesmente importa o projeto do eclipse no Android Studio.

Mais um problema ao obter este erro, geralmente você não tem o arquivo chamado "gradle.properties", você precisa criar / adicionar o projeto primeiro e, em seguida, definir

android.useDeprecatedNdk=true
Ahmad Arslan
fonte
2

NDK obsoleto não é mais compatível. Para evitar esse erro, remova android.useDeprecatedNdk = true e não crie nenhum espaço em branco no diretório do projeto. Se ocorrerem erros novamente, edite o build.gradle (Módulo: app) e adicione essas linhas como abaixo:

 buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
sourceSets { main { jni.srcDirs = ['src/main/jni/','src/main/jniLibs/'] } }
externalNativeBuild {
    ndkBuild {
        path 'build/intermediates/ndk/debug/Android.mk'
    }
}
Istiyak
fonte
0

Aqui está como resolver esse problema:

Vá para o arquivo gradle.properties para a pasta raiz do seu projeto Remova android.useDeprecatedNdk=truedo seu gradle.propertiesarquivo

O Android foi removido, android.useDeprecatedNdkentão não funcionará mais

Shashikant Singh
fonte