2009-11-30 4 views
5

Quelqu'un peut-il me dire s'il me manque quelque chose ici? J'essaie les commandes suivantes dans shell.Android - Comment activer le développement de CheckJni pour NDK?

shell ./adb $ arrêter ./adb shell $ setprop dalvik.vm.checkjni vrai shell ./adb $ commencer

Mais Logcat montre toujours "CheckJNI est OFF" quand installer le apk sur la périphérique. Y at-il quelque chose d'autre dans Eclipse que je dois faire pour activer le drapeau XCheck: Jni?

Merci pour toute aide BD

+0

plz mentionnez comment vous avez déjà résolu votre problème .. Ce sera d'une grande aide ... merci – aProgrammer

Répondre

7

Il y a quatre cas différents, l'un pour le dispositif racinées, l'un pour l'émulateur, un pour appareil régulier et un pour racinés ou régulière dispositif.


Sur l'appareil enraciné j'ai pu le faire fonctionner de manière:

En adb:

adb shell 

En lancé après cette coquille:

su 
stop 
setprop dalvik.vm.checkjni true 
start 

Après cette le périphérique a été redémarré et au démarrage, je vois un message de journal:

CheckJNI is ON 



Pour d'autres cas, voir la théorie de official docs:

Il existe plusieurs façons de permettre CheckJNI.

Si vous utilisez l'émulateur, CheckJNI est activé par défaut.

Si vous avez un appareil ancré, vous pouvez utiliser la séquence suivante de commandes pour redémarrer le moteur d'exécution avec CheckJNI activé:

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

Dans ces deux cas, vous verrez quelque chose comme ça dans votre logcat sortie lorsque l'exécution commence:

D AndroidRuntime: CheckJNI is ON 

Si vous avez un appareil régulier, vous pouvez utiliser la commande suivante:

adb shell setprop debug.checkjni 1 

Cela n'affecte pas les applications déjà en cours d'exécution, mais toute application lancée à partir de ce moment verra CheckJNI activé. (Remplacez la propriété par une autre valeur ou redémarrez simplement Red CheckJNI à nouveau.) Dans ce cas, vous verrez quelque chose comme ceci dans votre sortie logcat la prochaine fois une application commence:

D Late-enabling CheckJNI 

Vous pouvez également définir la android: débogable attribut dans le manifeste de votre application pour activer CheckJNI juste pour votre application Notez que les outils de construction Android le feront automatiquement pour certains types de construction.