El soporte de NDK es una característica experimental y todos los casos de uso aún no son compatibles con el error en Android Studio?

Quiero integrar NDK en el estudio de Android, pero me enfrento a soporte de NDK es una característica experimental y los casos de uso aún no son compatibles con error.He descargado NDK usando el gestor de SDK y el NDK es palced C: \ Users \ The \ AppData \ Local \ Android \ Sdk \ ndk-bundle. También he creado NativePanorama java clase para Java y C + + interacción. Aquí está el código para la clase NativePanorama.java

public class NativePanorama { public native static void processPanorama(long[] imageAddressArray, long outputAddress); { } } 

Utilicé el comando javah en el terminal para crear el encabezado C ++ correspondiente para el método processPanorama en la clase java de NativePanorama. Aquí está el archivo de cabecera creado con_example_the_myapplication_NativePanorama.h c ++.

 /* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> /* Header for class com_example_the_myapplication_NativePanorama */ #ifndef _Included_com_example_the_myapplication_NativePanorama #define _Included_com_example_the_myapplication_NativePanorama #ifdef __cplusplus extern "C" { #endif /* * Class: com_example_the_myapplication_NativePanorama * Method: processPanorama * Signature: ([JJ)V */ JNIEXPORT void JNICALL Java_com_example_the_myapplication_NativePanorama_processPanorama (JNIEnv *, jclass, jlongArray, jlong); #ifdef __cplusplus } #endif #endif 

Aquí también está el archivo fuente com_example_the_myapplication_NativePanorama.cpp c ++.

 #include "com_example_panorama_NativePanorama.h" JNIEXPORT void JNICALL Java_com_example_panorama_NativePanorama_processPanorama (JNIEnv * env, jclass clazz, jlongArray imageAddressArray, jlong outputAddress){ } 

Puede ser el error está en el archivo build.gradle aquí es mi archivo build.gradle (app)

 import org.apache.tools.ant.taskdefs.condition.Os apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.example.the.myapplication" minSdkVersion 19 targetSdkVersion 23 versionCode 1 versionName "1.0" } // begin NDK OPENCV sourceSets.main { jni.srcDirs = [] //disable automatic ndk-build call } task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') { def rootDir = project.rootDir def localProperties = new File(rootDir, "local.properties") Properties properties = new Properties() localProperties.withInputStream { instr -> properties.load(instr) } def ndkDir = properties.getProperty('ndk.dir') if (Os.isFamily(Os.FAMILY_WINDOWS)) { commandLine "$ndkDir\\ndk-build.cmd", 'NDK_PROJECT_PATH=build/intermediates/ndk', 'NDK_LIBS_OUT=src/main/jniLibs', 'APP_BUILD_SCRIPT=src/main/jni/Android.mk', 'NDK_APPLICATION_MK=src/main/jni/Application.mk' } else { commandLine "$ndkDir/ndk-build", 'NDK_PROJECT_PATH=build/intermediates/ndk', 'NDK_LIBS_OUT=src/main/jniLibs', 'APP_BUILD_SCRIPT=src/main/jni/Android.mk', 'NDK_APPLICATION_MK=src/main/jni/Application.mk' } } tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn ndkBuild } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' compile project(":opencv-java") } 

También hay una declaración de método nativo de informes en java donde no se encuentra una función jni correspondiente en el error de proyecto en la clase NativePanorama.java.

¿Cómo puedo solucionar los problemas?

Aquí está la solución:

Actualice su Android Studio a la última versión oa la última versión pública de pre-lanzamiento.

Android Studio 2.2.1 es actualmente la última versión y tiene soporte de C ++ adecuado construir pulg Ellos todavía están trabajando en él y algunas cosas todavía pueden ser sin soporte, pero el uso de C + + es sin duda trabajar mejor en una versión más reciente. Por supuesto también asegúrese de mantener su SDK de Android actualizado.

  • Teclado suave de Android con botones superpuestos (Captura de pantalla)
  • Dibujo libremente por los dedos en Google Map
  • Cómo leer las propiedades de Android con Java
  • SensorEventListener no obtiene unregistered con el método unregisterListener ()
  • Pegar desde el portapapeles en Android
  • No se puede cambiar la fuente predeterminada en la aplicación para Android
  • La aplicación se comporta diferente después de salir y volver a entrar
  • Envío de mayúsculas a un TextEdit durante pruebas instrumentadas
  • Imagen de Android Rotar con ExifInterface no funciona
  • ¿Qué android: attr / listPreferredItemHeight está haciendo y cómo?
  • Cómo hacer un archivo jar único de varias clases que se pueden utilizar en otros proyectos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.