Android Studio «Текущая поддержка NDK устарела»

С января 2015 года поддержка NDK для студии Android по-прежнему непригодна для использования. В загадочном сообщении говорится: «Альтернатива будет предоставлена ​​в будущем».

Я хотел бы знать, что такое направление gradle / google, потому что на данный момент невозможно запланировать соответствующий план развития.

Версия 0.7+: они предложили использовать ndk-build / ant версии 0.8+: они внедрили минимальную поддержку NDK. Версия 1.0.0: похоже, поддержка NDK будет официальной версией 1.0.2: теперь она выглядит Поддержка NDK устарела.

Мои вопросы:

  • Все ли возвращаются в файлы ndk-build и hand made android.mk?

  • Кто-нибудь использует в настоящее время устаревший метод на 1.0.0+ (поддержка gradle ndk) на проекте с серьезными размерами?

  • Какое направление «Альтернатива будет предоставлено в будущем»? Возможно ли, чтобы любой инсайдер мог ответить, не нарушая каких-либо правил компании?

Редактировать: это не дубликат, потому что речь идет об эволюции Android Studio и NDK, другой вопрос относится к очень древней версии Android Studio, как я подробно рассказал в своем сообщении, поддержка NDK сильно изменилась с версии на версию без Четкое направление, до сих пор с выпуском 1,3

Solutions Collecting From Web of "Android Studio «Текущая поддержка NDK устарела»"

Обновление с Google I / O 2015

Android Studio v1.3 Preview – Мы выпускаем новую версию Android Studio. Самое примечательное – это очень востребованная функция от наших разработчиков Android NDK и игр: редактирование кода и отладка для кода C / C ++ . На платформе JetBrains Clion плагин Android Studio NDK предоставляет такие функции, как рефакторинг и завершение кода для кода C / C ++ вместе с вашим Java-кодом. Поддержка Java и C / C ++ встроена в один опыт разработки бесплатно для разработчиков приложений для Android. Обновите приложение Android Studio v1.3 через канал Canary и сообщите нам, что вы думаете.

Источник от блога разработчиков Android.


Новое обновление 30/7/2015 -> Android Studio v1.3 выпущена

В рамках стабильной версии Android 1.3 мы включили предварительный просмотр предварительного просмотра поддержки и поддержки отладчика C ++ в сочетании с экспериментальным плагином сборки. См. Страницу предварительного просмотра Android C ++ для получения информации о том, как начать работу. Поддержка разработки более сложных проектов и создания конфигураций находится в разработке. Введите описание изображения здесь

Цитата из блога разработчиков Android.

Добавлены функции :

  • Завершение кода
  • Навигация по коду (переход к декларации, переход между заголовком и реализацией и т. Д.)
  • Быстрые исправления
  • намерения
  • Рефакторинг
  • Формат источника
  • отладка

О шагах по его использованию смотрите здесь .

Я вызываю командную строку, не уверен, откуда у меня это получилось, это в основном ваш первый вариант, возвращаясь к ndk-build с ручным android.mk . Отлично, если вы не хотите контролировать ndk abiFilters по вкусу продукта.

 apply plugin: 'com.android.library' android { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion defaultConfig { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion ndk { moduleName "glues" } } sourceSets.main { jniLibs.srcDir 'src/main/libs' //set .so files location to libs jni.srcDirs = [] //disable automatic ndk-build call } task buildNative(type: Exec, description: 'Compile JNI source via NDK') { def ndkDir = android.ndkDirectory commandLine "$ndkDir/ndk-build", '-C', file('src/main/jni').absolutePath, // Change src/main/jni the relative path to your jni source '-j', Runtime.runtime.availableProcessors(), 'all', 'NDK_DEBUG=1' } task cleanNative(type: Exec, description: 'Clean JNI object files') { def ndkDir = android.ndkDirectory commandLine "$ndkDir/ndk-build", '-C', file('src/main/jni').absolutePath, // Change src/main/jni the relative path to your jni source 'clean' } clean.dependsOn 'cleanNative' tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn buildNative } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } dependencies { } 

Я вижу только эти предупреждения, если я abiFilter на productFlavors :

 productFlavors { x86 { ndk { abiFilter "x86" } } mips { ndk { abiFilter "mips" } } armv7 { ndk { abiFilter "armeabi-v7a" } } arm { ndk { abiFilter "armeabi" } } fat } 

Обратите внимание, что более старые версии плагинов gradle используют android.plugin.ndkFolder а не android.ndkDirectory . Для получения дополнительной информации см .: http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0.

NDK будет полностью поддерживаться с Android Studio 1.3, включая собственную отладку.

 android.useDeprecatedNdk=true 

В вашем gradle.properties