最近公司项目需要,在安卓端使用了视频直播的第三方包和unity的第三方包,问题来了,引用了视频直播的包之后,unity的嵌入程序启动会报错,

 Process: e.unitry3d, PID: 30302
    java.lang.UnsatisfiedLinkError: No implementation found for void com.unity3d.player.UnityPlayer.nativeRestartActivityIndicator() (tried Java_com_unity3d_player_UnityPlayer_nativeRestartActivityIndicator and Java_com_unity3d_player_UnityPlayer_nativeRestartActivityIndicator__)
        at com.unity3d.player.UnityPlayer.nativeRestartActivityIndicator(Native Method)
        at com.unity3d.player.UnityPlayer.resume(Unknown Source:23)
        at com.unity3d.player.UnityPlayerActivity.onResume(Unknown Source:5)
        at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1413)
        at android.app.Activity.performResume(Activity.java:7292)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3803)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3843)
        at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1823)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:198)
        at android.app.ActivityThread.main(ActivityThread.java:6729)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

找了好久 发现这个报错和32位和64位有关。
主要参考连接:
E/Unity: Unable to find main

次要参考连接:
Unable to find main - arm64?

现在大概说一下自己理解的问题原因吧 ,
其实就是第三方包里面使用了arm64-v8a这个包 导致系统改成64位了,
然而使用mono打包的unity安卓工程是32位的
所以在64位的安卓应用上运行32位的unity程序,它要找的还是64位的包 这时就没有 所以报错退出
要做的也比较简单 ,但是自己摸索unity打包选项需要一定时间
就是在playersettings里面像下面这样选择即可
在这里插入图片描述

打出来的包按照另外一篇文章的方法来放置就可以了

Unity安卓项目嵌入到安卓app 更新及 与安卓app交互 以及Unity在 AS的打印

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐