tools studio ndk full descargar configurar android android-studio gradle android-ndk android-gradle

ndk - Problema de migración de desarrollo nativo de Android Studio 2.2



descargar android studio (7)

Antes de pasar a AS 2.2, tengo la siguiente estructura para implementar mi C

app/src/main/jni/Android.mk app/src/main/jni/Application.mk app/src/main/jni/headers/* app/src/main/jni/cfiles*.cc

en cuyo caso todo está bien. Sin embargo, después de actualizar a AS 2.2, no puedo crear ningún apk y siempre recibo el siguiente error:

Execution failed for task'':app:transformNative_libsWithStripDebugSymbolForDebug java.lang.NullPointerException (no error message)

¿Alguien sabe a que se debe esto? Parece que no puedo encontrar un trabajo alrededor.


Resolví este problema en mi proyecto) intente agregar esto en su build.gradle (módulo)

externalNativeBuild { ndkBuild { path ''src/main/jni/Application.mk'' } }

Enlace Gradle a su biblioteca nativa


Actualicé a AS 2.2 esta mañana y tuve el mismo error. La actualización del NDK lo resolvió para mí. Puede actualizar a través de SDK Manager ahora, las instrucciones están aquí:

https://developer.android.com/studio/projects/add-native-code.html#download-ndk

También asegúrese de que su archivo "local.properties" apunte a la ubicación correcta de NDK. Ejemplo de Windows local.properties:

ndk.dir=C/://Users//Me//AppData//Local//Android//sdk//ndk-bundle sdk.dir=C/://Users//Me//AppData//Local//Android//sdk


Intenté varios ajustes, el que me solucionó el problema fue cambiar la versión de plataforma del "19" al que estaba configurada, a "21" en el modelo {android {ndk sección de build.gradle de la aplicación. Esto solo será relevante en la versión Experimental. Estoy compilando con compileSdkVersion establecido en 24 y buildToolsVersion en 24.0.2.


Esto parece ser un error con la versión 2.2.0 y superior de las herramientas de compilación gradle android. Causando problemas en nuestro entorno de CI.

Por favor protagoniza el error a continuación!

https://code.google.com/p/android/issues/detail?id=223162

por ahora estamos volviendo a una versión anterior de las herramientas para 2.1.3


Tuvimos el mismo error hoy, en un proyecto de Rajawali , es decir, no implementamos componentes nativos, sino que usamos una biblioteca que implementa algunos componentes nativos de OpenGL. Supongo que esto está relacionado de alguna manera con una actualización de Android Studio (en esa máquina, era 2.2.3 ), pero no puedo decir claramente en este momento. Simplemente "de repente dejó de funcionar".

Sin embargo, necesitábamos actualizar a las herramientas experimentales de compilación de Android y aplicar la solución de Mike anterior para que funcione. Una guía de migración (algo obsoleta) se puede encontrar aquí . Como referencia, necesitamos ajustar únicamente build.gradle y app/build.gradle , que ahora se ven de la siguiente manera:

// build.gradle buildscript { repositories { jcenter() } dependencies { classpath ''com.android.tools.build:gradle-experimental:0.8.3'' // used to be: ''com.android.tools.build:gradle:2.2.2'' } } allprojects { repositories { mavenLocal() jcenter() } }

...y

//app/build.gradle apply plugin: ''com.android.model.application'' // used to be ''com.android.application'' // android() migrated according to guide // note that buildConfigFields() is missing, because it lead to errors model { android { compileSdkVersion 19 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.projecttango.experiments.augmentedrealitysample" minSdkVersion.apiLevel 19 targetSdkVersion.apiLevel 19 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles.add(file("proguard-rules.pro")) } } productFlavors { create("flavor1") { applicationId "com.app" } } sources { main { java { source { srcDir "src" } } } } // Fix suggested by Mike above ndk { platformVersion 21 } } } // Remaining Rajawali "noise" def external_lib_prefix = null if (project.hasProperty("Tango.catkin_devel_prefix")) { external_lib_prefix = project.property("Tango.catkin_devel_prefix") } else { // Building in standalone sample form. external_lib_prefix = "../../TangoReleaseLibs" } repositories { flatDir { dirs external_lib_prefix + ''/aar'' } } dependencies { compile fileTree(dir: external_lib_prefix + ''/jar'', include: [''**/*.jar'']) compile (name: ''tango_support_java_lib'', ext: ''aar'') compile ''org.rajawali3d:rajawali:1.1.668@aar'' }

Una vez que haya terminado, asegúrese de sincronizar el proyecto Gradle en Android Studio. De lo contrario, cuando intente ejecutar inmediatamente, verá algo así como la Task ''generateDebugSources'' not found in project '':app'' .


Actualice su configuración de build.gralde en el módulo de la aplicación:

compileSdkVersion 23 buildToolsVersion "24.0.2"

Aquí está mi configuración de compileSdkVersion y buildToolsVersion que me hace efectivo, que necesitas actualizar tu configuración de compileSdkVersion y buildToolsVersion a la mayor coincidencia con tu gradle-plugin version .

En una palabra, una vez que actualice su gradle-plugin version , también debe actualizar su configuración en build.gradle para asegurarse de que puede obtener un resultado correcto.


Sentí que muchas de estas soluciones eran excesivas. Perdón por responder mi propia pregunta, pero la solución real fue tomada de casi cada publicación aquí.

Al igual que lo que dijo @GregT, lo que funcionó para mí fue actualizar el paquete NDK que había instalado. Y, al hacerlo, en realidad modificó los archivos *.mk , al igual que la respuesta de @ Matthew_Bondarchuk.

En consecuencia, como dijo @aaronvargas, esto es un error; específicamente, el sistema NDK de Android no se actualizó junto con las actualizaciones que instaló Android Studio 2.2. Esto causa una incompatibilidad con las herramientas de compilación de Android, al igual que @Michael_Jess dijo.