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.

  • ¿Por qué Merge sort se utiliza para objetos en Android / Java API?
  • Java.lang.NoClassDefFoundError: ayc para InterstitialAd
  • Ejecutar la aplicación Android produce java.lang.NoClassDefFoundError: retrofit.RestAdapter $ Builder
  • Eclipse se congela todo el tiempo con Ubuntu
  • Patrón de diseño para acceder a los mismos datos de diferentes fuentes
  • Cómo quitar una tarea de ScheduledExecutorService?
  • ¿Cómo puedo hacer que el botón "Arriba" de mi ActionBar funcione como el botón "Atrás" del teléfono?
  • ¿Actualizar la actividad sin volver a abrirla?
  • Girar la imagen en sentido horario usando LibGDX
  • Fast Bitmap Blur para Android SDK
  • JavaPoet + Android Studio "addModifiers (Modifier) ​​no se puede aplicar a Modificador"
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.