{
//ret = android_get_device_api_level(); ret = 28;}
{
int ff_Build_SDK_INT(AVCodecContext *avctx) { int ret = -1;
#if __ANDROID_API__ >= 24 // android_get_device_api_level() is a static inline before API level 29. // dlsym() might doesn't work. // // We can implement android_get_device_api_level() by // __system_property_get(), but __system_property_get() has created a lot of // troubles and is deprecated. So avoid using __system_property_get() for // now. // // Hopy we can remove the conditional compilation finally by bumping the // required API level. // //ret = android_get_device_api_level(); ret = 28; #else JNIEnv *env = NULL; jclass versionClass; jfieldID sdkIntFieldID; JNI_GET_ENV_OR_RETURN(env, avctx, -1);
versionClass = (*env)->FindClass(env, "android/os/Build$VERSION"); sdkIntFieldID = (*env)->GetStaticFieldID(env, versionClass, "SDK_INT", "I"); ret = (*env)->GetStaticIntField(env, versionClass, sdkIntFieldID); (*env)->DeleteLocalRef(env, versionClass); #endif av_log(avctx, AV_LOG_DEBUG, "device api level %d\n", ret); return ret; }
}
标签:level,get,ret,api,env,device,android From: https://www.cnblogs.com/YZFHKMS-X/p/18076468