Javah Error android.app.Activity not found

Estoy intentando crear un archivo de cabecera .h para un proyecto simple de NDK. Uso de cygwin myprojectDIR\jni directorio myprojectDIR\jni , luego ejecute este comando:

 javah -o com_myproject_MyActivity.h -classpath myprojectDIR\bin\classes com.myproject.MyActivity 

Entonces aparece este mensaje de error:

 Error: cannot access android.app.Activity class file for android.app.Activity not found 

Tengo un método nativo dentro de la clase MyActivity , así que traté de crear una nueva clase llamada NativeAccess (no amplía ninguna clase del androide SDK) y funcionó bien, se creó el archivo .h, ndk-build y prueba en el dispositivo donde ¡exitoso!

Así que mi problema es que necesito mis métodos nativos dentro de las actividades y servicios de Android que creo, pero no puedo hacer eso porque el comando Javah no puede acceder a las clases desde el propio android-sdk. Tenga en cuenta que estoy utilizando (Windows-7 x64) y tengo estas variables de entorno:

 ANDROID_NDK : C:\Android\android-ndk-r7b ANDROID_SDK : C:\Android\android-sdk ANT_HOME : C:\ANT\apache-ant-1.8.3 JAVA_HOME : C:\Program Files\Java\jdk1.7.0_02 PATH : %JAVA_HOME%\bin;%ANDROID_SDK%\tools;%ANDROID_SDK%\platform-tools;%ANDROID_NDK%;%ANT_HOME%\bin; (other unrelated stuff) 

Gracias por adelantado

Prueba a agregar a tu classpath:

 -classpath <android-sdk-location>/platforms/android-8.jar 

Lo encontré, así es como va:

 javah -o com_myproject_MyActivity.h -classpath <android-sdk-location>/platforms/android-8.jar;myprojectDIR\bin\classes com.myproject.MyActivity 

Pruebe lo siguiente en Eclipse,

Ir a> Ejecutar | Herramientas externas | Configuraciones de herramientas externas En el programa, cree una nueva configuración haciendo clic en el icono pequeño.

Nombralo.

La ubicación sería: C: \ Archivos de programa \ Java \ jdk1.7.0_04 \ bin \ javah.exe

El directorio de trabajo sería: $ {workspace_loc: / My_First_NDK / bin / classes} y

Argumentos sería: -classpath $ {workspace_loc: / Mi_First_NDK / bin / classes} -bootclasspath "C: \ adt-bundle-windows-x86-20140624 \ sdk \ plataformas \ android-19 \ android.jar" -v -d $ {Workspace_loc: / My_First_NDK / jni} com.mypackage.ndk.HelloNDK

Introduzca aquí la descripción de la imagen

Lo encontré, así es como va:

  E:\workspeaceResearch\DAMMADARJNI\src>javah -classpath "E:\Software\sdk\platform s\android-19/platforms/android-8.jar"; -jni com.dammadar.jni.Home_Screen 
  • Cómo crear jni y Android.mk?
  • No se invoca el método Java cuando se llama desde pthread nativo
  • Android LocalServerSocket
  • Java.lang.UnsatisfiedLinkError: Método nativo no encontrado: Error en jni ()
  • Android: Calling System.loadLibrary () hace que el proceso muera
  • ¿Cómo realizar llamadas JNI desde un servicio incluso si la aplicación está cerrada?
  • Crear mapa de bits de la matriz de bytes, que se descomprime desde un archivo JPEG a través de libjpeg
  • Cómo obtener el tiempo de computación en NDK
  • Uso de pjsip con android
  • Accede al GPS en Android desde C ++
  • Android NDK y Gradle: Android.mk diferente por tipo de compilación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.