2009-11-30 15 views
5

Qualcuno può dirmi se mi manca qualcosa qui? Sto provando i seguenti comandi nella shell.Android - Come abilitare CheckJni per lo sviluppo di NDK?

$ ./adb guscio fermare $ ./adb guscio setprop dalvik.vm.checkjni vero guscio $ ./adb iniziare

Ma Logcat mostra sempre "CheckJNI è OFF" quando installo l'apk sul dispositivo .. C'è qualcos'altro in eclissi che devo fare per abilitare il flag XCheck: Jni?

Grazie per qualsiasi aiuto BD

+0

menzionare come hai mai risolto il tuo problema .. Sarà di grande aiuto ... grazie – aProgrammer

risposta

7

C'è quattro casi differenti, uno per il dispositivo radicata, uno per emulatore, uno per il dispositivo regolare e uno per le radici o regolare dispositivo.


Sul dispositivo radicata sono stato in grado di farlo funzionare in modo:

In adb:

adb shell 

In lanciata dopo questo guscio:

su 
stop 
setprop dalvik.vm.checkjni true 
start 

Dopo questo il dispositivo è stato riavviato e all'avvio viene visualizzato il messaggio di registro:

CheckJNI is ON 



Per gli altri casi si veda qualche teoria da official docs:

Ci sono diversi modi per attivare CheckJNI.

Se si sta utilizzando l'emulatore, CheckJNI è attivo per impostazione predefinita.

Se si dispone di un dispositivo radicata, è possibile utilizzare la seguente sequenza di comandi per riavviare il runtime con CheckJNI abilitato:

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

In entrambi i casi, si vedrà qualcosa di simile nel tuo logcat uscita quando il runtime inizia:

D AndroidRuntime: CheckJNI is ON 

Se si dispone di un dispositivo regolare, è possibile utilizzare il seguente comando:

adb shell setprop debug.checkjni 1 

Ciò non influirà sulle app già in esecuzione, ma qualsiasi app avviata da quel momento in poi avrà attivato CheckJNI. (Cambiare la proprietà con qualsiasi altro valore o semplicemente il riavvio disabiliterà di nuovo CheckJNI.) In questo caso, si vedrà qualcosa di simile nella vostra uscita logcat la prossima volta che un app inizia:

D Late-enabling CheckJNI 

È anche possibile impostare il Android: debuggable attributo manifest dell'applicazione per accendere CheckJNI solo per la tua app. Nota che gli strumenti di build di Android lo faranno automaticamente per determinati tipi di build.