我们有一个非常奇怪的问题。我们的原生应用程序正在为我们制作的任何本机通话抛出“UnsatisfiedLinkError” - 但仅限于Android 5.0且仅适用于Galaxy S5。该应用程序在所有其他设备上运行良好,但只在此设备上显示此崩溃(已下载近100万次)。
该应用程序具有本机活动,因此库加载不是问题(应用程序本机运行一段时间,直到第一次java->本机调用)。
RegisterNatives返回0(成功)。但是一旦本机回调触发,应用程序barf就会:
java.lang.UnsatisfiedLinkError:找不到void com.rubicon.dev.NativeActivity.Adverts_InterstitialFinished(int)的实现(尝试过Java_com_rubicon_dev_NativeActivity_Adverts_1InterstitialFinished和Java_com_rubicon_dev_NativeActivity_Adverts_1InterstitialFinished__I)
(插页式广告失败是第一次触发回调,这是正确的。)
有人碰到过这个吗?
更多信息:
经过更多考虑之后:
我们的Java应用程序:
OurEngineNativeActivity扩展了NativeActivity { 当地人......不行。 }
OurGameActivity扩展了OurEngineNativeActivity { 当地人...正常工作。 }
(这在Android< 5.0上都可以正常工作)
注册本机时,我使用GetObjectClass()注册应用程序本机 - 这些工作。
在为引擎注册本机时,我使用FindClass,它返回一个类,不会出现错误或警告。
调用任何引擎本机都会导致链接错误。
如果我对regiserNatives的所有调用都使用GetObjectClass,它只能在Android> 5.0上完美运行,崩溃在< 5.0
完全糊涂。
史蒂夫。