Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


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?

  • ¿Fuerza el androide para enviar paquetes UDP inmediatamente?
  • No se puede resolver el símbolo 'GoogleCloudMessaging' GCM
  • Obtener instancia de actividad
  • AsyncTask.executeOnExecutor () antes de API Nivel 11
  • Cifrar y descifrar con el modo AES ECB 'BadPaddingException' en algunos casos
  • Cómo el código fuente de Android minify y ofuscar?
  • Android en las donaciones de aplicaciones
  • No se puede ejecutar el proyecto en Android Studio (libGDX)
  • One Solution collect form web for “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?”

    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.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.