为什么在Nexus 5和Honor Play中,FindClass / JNI函数的行为有所不同?

问题描述

MobileFFmpeg v4.3.1LTS可以在Honor Play上运行,但不能在Nexus 5上运行。

Honor Play和nexus 5的版本相同-> armeabi-v7a

https://github.com/tanersener/mobile-ffmpeg/releases/tag/v4.3.1.LTS

Nexus5:enter image description here

HonorPlay:enter image description here

NDK = ndk-r14b

JDK = jdk1.8.0_77

我将立即以英语stackoverflow提问。在Customer Serial# Date PM A 01 01/02/01 PM2 B 03 01/01/01 PM4 C 05 01/03/01 PM2 中开发游戏。在代码本身中,只有2行与MobileFFmpeg有关:

启用功能

Unreal Engine 4 v24.3

使用ffmpeg参数调用函数

extern "C"
{
    int ffmpeg_execute(int argc,char** argv);
}

在没有移动FFmpeg的情况下,nexus 5上的应用程序启动并稳定运行。当我以FFmpeg开头时,会立即出现错误,并且应用程序崩溃:

enter image description here

FindClass函数不起作用,调用本身在移动ffmpeg.c中声明:

ffmpeg_execute(arg.size(),arg.data());

...

/** Full name of the Config class */
const char *configClassName = "com/arthenica/mobileffmpeg/Config";

我看不到FindClass(C ++)函数返回什么,Android Studio不想在调试期间停止在JNI_OnLoad(C ++)函数上。

两个电话上的FindClass行为为何不同的假设是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)