2009-11-30 5 views
5

¿Puede alguien decirme si me falta algo aquí? Estoy probando los siguientes comandos en shell.Android - ¿Cómo habilitar CheckJni para el desarrollo de NDK?

$ ./adb cáscara detener $ ./adb cáscara setprop dalvik.vm.checkjni verdadera cáscara $ ./adb empezar

Pero Logcat siempre muestra "CheckJNI es OFF" cuando instalo el apk en el dispositivo ... ¿Hay algo más en eclipse que deba hacer para habilitar XCheck: Jni flag?

Gracias por cualquier ayuda BD

+0

por favor mencione cómo alguna vez resolvió su problema ... Eso será de gran ayuda ... gracias – aProgrammer

Respuesta

7

Hay cuatro casos diferentes, uno para el dispositivo arraigado, una para el emulador, uno para el dispositivo regular y uno para arraigado o regular dispositivo.


El dispositivo arraigado que era capaz de conseguir que funcione de modo:

En ADB:

adb shell 

En lanzada después de esta cáscara:

su 
stop 
setprop dalvik.vm.checkjni true 
start 

Después de esto dispositivo se reinició y en el arranque veo mensaje de registro:

CheckJNI is ON 



Para ver otros casos alguna teoría de official docs:

Hay varias maneras de activar CheckJNI.

Si está utilizando el emulador, CheckJNI está activado por defecto.

Si usted tiene un dispositivo de raíces, puede utilizar la siguiente secuencia de comandos para reiniciar el tiempo de ejecución con CheckJNI habilitados:

adb shell stop 
adb shell setprop dalvik.vm.checkjni true 
adb shell start 

En cualquiera de estos casos, se verá algo como esto en su Logcat salida cuando se inicia el tiempo de ejecución:

D AndroidRuntime: CheckJNI is ON 

Si usted tiene un dispositivo regular, puede utilizar el siguiente comando:

adb shell setprop debug.checkjni 1 

Esto no afectará las aplicaciones que ya se están ejecutando, pero cualquier aplicación que se inicie desde ese momento tendrá habilitado CheckJNI. (Cambie la propiedad a cualquier otro valor o simplemente reiniciar deshabilitará CheckJNI nuevamente.) En este caso, se verá algo como esto en su salida Logcat la próxima vez que una aplicación se inicia:

D Late-enabling CheckJNI 

También puede establecer la androide: depurable atributo en el manifiesto de la aplicación para activar CheckJNI solo para tu aplicación Tenga en cuenta que las herramientas de compilación de Android lo harán automáticamente para ciertos tipos de compilación.