После обновления Android Studio до версии 1.3.0 я получаю сообщение об ошибке «Интеграция NDK устарела в текущем плагине».


89

Я обновил свою Android Studio до версии 1.3.0 за 3 дня.

Раньше я мог использовать NDK, а теперь получаю сообщение об ошибке:

Ошибка: (50, 0) Ошибка: интеграция NDK устарела в текущем плагине. Попробуйте новый экспериментальный плагин. Подробнее см. Http://tools.android.com/tech-docs/new-build-system/gradle-experimental . Установите android.useDeprecatedNdk = true в gradle.properties, чтобы продолжить использование текущей интеграции NDK.

Я не могу найти файл gradle.property на уровне проекта.

Как я могу решить эту ошибку?



@ EthicsDev: прочтите мой полностью описательный ответ.
AndiGeeky

Это ошибка или просто предупреждение?
Игорь Ганапольский

@ Игорь Ганапольский: Это ошибка .. !!
AndiGeeky

Ответы:


214

Вот как решить эту проблему:

  1. добавить gradle.propertiesфайл в корневую папку вашего проекта
  2. добавить 'android.useDeprecatedNdk=true'в gradle.propertiesфайл

Вот мои 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

И добавьте его в корень вашего проекта:

расположение gradle.properties

И перестройте свой проект. Это оно.


после добавления у меня возникает следующая ошибка: исключение при работе с внешней системой:
Кишан Сони

@Kishan Soni: Пожалуйста, задайте вопрос с вашим файлом gradle .. В вашем проекте будет какая-то ошибка .. !!
AndiGeeky 01

Всякий раз, когда я меняю плагин gradle на 1.2.3, все работает нормально, но если я снова меняю версию плагина на 1.5.0, возникает ошибка. Но мне нужно использовать только 1.5.0, но ничего не работает.
Кишан Сони

@Kishan Soni: Для версии 1.2.3 и выше вы должны использовать «Экспериментальный плагин» для NDK .. !!
AndiGeeky 01

1
Вы хоть представляете, как использовать или работать с "Experimental Pugin", это довольно сложно, и я не нашел никакого руководства по этому поводу :(
Кишан Сони

3

В основном это происходит, когда вы переносите свой проект из eclipse в студию Android или когда вы просто импортируете проект eclipse в студию Android.

Еще одна проблема при получении этой ошибки. В основном у вас нет файла с именем «gradle.properties», который вам нужно сначала создать / добавить в проект, а затем установить

android.useDeprecatedNdk=true

2

Устаревший NDK больше не поддерживается. Чтобы избежать этой ошибки, удалите android.useDeprecatedNdk = true и не оставляйте пробелов в каталоге проекта. Если ошибки повторяются, отредактируйте build.gradle (Module: app) и добавьте эту строку, как показано ниже:

 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'
    }
}

0

Вот как решить эту проблему:

Перейдите в файл gradle.properties в корневую папку вашего проекта. Удалите android.useDeprecatedNdk=trueиз gradle.propertiesфайла.

Android удален, android.useDeprecatedNdkпоэтому он больше не будет работать

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.