У меня возникла такая же проблема, пытаясь изменить представление пользовательского интерфейса из c ++ с использованием JNI. Решением было использование
runOnUiThread(new Runnable() {
public void run(){
}
});
runOnUiThread - это метод Activity, поэтому я должен сделать свой экземпляр активности public static, чтобы иметь возможность вызвать мой публичный статический метод, который позже вызывает JNI.
Надеюсь, что это поможет другим:)
PS: отсюда я узнаю, как использовать JNI http://www.cocos2d-x.org/projects/cocos2d-x/wiki/How_to_use_jni для моей игры для Android, сделанной ранее с cocos2dx