Using DECLARE_JNI_CLASS_WITH_BYTECODE and DECLARE_JNI_CLASS_WITH_MIN_SDK

Hi everybody,

I see that there are two ways of doing a jni binding.
Sometimes DECLARE_JNI_CLASS_WITH_MIN_SDK is used (bytecode is taken from .java file compilation) and sometimes, DECLARE_JNI_CLASS_WITH_BYTECODE is used (bytecode is taken from a cpp array generated from java intermediate outputs)
What are the pros and cons of each method (or even simpler: why are there two methods ?)

Thanks for your help,