Android Studio " El soporte NDK actual está obsoleto"
A partir de enero de 2015, el soporte de NDK para Android Studio sigue siendo inutilizable. Un mensaje críptico dice: "Se proporcionará alternativa en el futuro."
Me gustaría saber cuál es la dirección de gradle/google en esto, ya que es imposible planificar un plan de desarrollo adecuado en este momento.
Versión 0.7+: Sugirieron seguir usando ndk-build / ant Versión 0.8+: Han introducido un soporte mínimo de NDK Versión 1.0.0: Parecía que el soporte de NDK iba a ser oficial Versión 1.0.2: It ahora parece que el soporte NDK está en desuso.
Mis preguntas son:
Es todo el mundo volviendo a ndk-construir y hecho a mano android.mk ¿archivos?
¿Alguien está usando el método actualmente obsoleto en 1.0.0+ (soporte gradle ndk) en un proyecto de tamaño serio?
¿En qué dirección iría la "Alternativa que se proporcionará en el futuro"? Es posible que cualquier insider responda eso sin romper ninguna empresa reglas?
Editar: no es un duplicado porque se refería a la evolución de Android Studio y NDK, la otra pregunta se refiere a una versión muy antigua de Android Studio como he detallado en mi post el soporte NDK ha cambiado drásticamente de versión a versión sin una dirección clara, hasta ahora con el lanzamiento de 1.3
4 answers
Actualización de Google I/O 2015
Android Studio v1. 3 Vista previa - Estamos lanzando una nueva versión de Android Estudio. Lo más notable es una característica muy solicitada de nuestro Android NDK desarrolladores de & juegos: edición y depuración de código para código C/C++ . Basado en JetBrains Clion plataforma, el Android Studio NDK plugin proporciona características como refactorización y finalización de código para código C / C++ junto con su código Java. El soporte de código Java y C/C++ es integrado into one experiencia de desarrollo gratuita para la aplicación Android desarrollador. Actualizar a Android Studio v1. 3 a través del Canary channel y háganos saber lo que piensa.
Fuente del blog de desarrolladores de Android aquí.
Nueva actualización 30/7/2015 - > Android Studio v1.3 Lanzado
Como parte de la versión estable de Android 1.3, incluimos una versión temprana Acceder a la vista previa del editor y depurador de C++ compatible plugin de compilación experimental. Ver la página de vista previa de Android C++ para información sobre cómo empezar. Apoyo a proyectos más complejos y construir configuraciones está en desarrollo.
Citado del blog de desarrolladores de Android aquí.
Características Añadidas:
- Finalización del código
- Navegación de código (ir a declaración, saltar entre encabezado y aplicación, etc.)
- Rápido correcciones
- Intenciones
- Refactorización
- Formato de fuente
- Depuración
- ...
Para pasos sobre cómo usarlo, mira aquí.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-09 11:34:49
Invoco la línea de comandos, no estoy seguro de dónde obtuve esto, es básicamente tu primera opción, volviendo a ndk-build
con hand made android.mk
. Está bien si no quieres controlar los abifiltros ndk por el sabor del producto.
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 {
}
Solo veo esas advertencias si configuro {[4] } en el productFlavors
:
productFlavors {
x86 {
ndk {
abiFilter "x86"
}
}
mips {
ndk {
abiFilter "mips"
}
}
armv7 {
ndk {
abiFilter "armeabi-v7a"
}
}
arm {
ndk {
abiFilter "armeabi"
}
}
fat
}
Tenga en cuenta que las versiones anteriores de los complementos de gradle usaban android.plugin.ndkFolder
en lugar de android.ndkDirectory
. Para más información, ver: http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-16 17:49:05
NDK será totalmente compatible desde Android Studio 1.3, incluida la depuración nativa.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-29 03:31:39
android.useDeprecatedNdk=true
En tu gradle.propiedades
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-04 05:58:11