当前位置: 移动技术网 > 移动技术>移动开发>Android > Unity 接入安卓渠道SDK问题总结

Unity 接入安卓渠道SDK问题总结

2020年07月23日  | 移动技术网移动技术  | 我要评论

问题一 :报错“The method  InitSdk must be in the main thread!”。

原因:一般SDK的初始化方法必须在主线程,如果不在主线程,则会报如上错误。

解决方法:使用runOnUiThread方法,强制其在UI主线程执行。

//以VivoSDK为例
MyActivity.this.runOnUiThread(new Runnable()
{
    public void run()
    {
        try
        {
            VivoUnionSDK.initSdk(MyActivity.this, Config.APP_ID, false);
            UnityPlayer.UnitySendMessage(Config.ObjectName, Config.InitSuccess, Config.Success);
        }
        catch ( Exception e)
        {
            UnityPlayer.UnitySendMessage(Config.ObjectName,Config.InitFailure,e.toString());
            return;
        }
}

 

问题二:确定方法InitSDK(或其他)方法存在的情况下,Unity调用Android方法报错“No-non static method found InitSdk”。

原因:Unity在调用Android方法时,会优先寻找普通方法,如果找不到会再去找静态方法。但是确定方法存在的时候,为什么还是报错,是因为Android的Jar有关类库和xml文件所在的Plugins文件夹,必须在Unity的Assets根目录下,否则可能存在无法找到的情况。

解决方法:Plugins移置Assets目录下。

 

问题三:游戏为横屏,SDK为竖屏的情况下,退出SDK登录,返回横屏游戏崩溃。

原因:因为游戏不支持横屏或者竖屏,切换可能导致崩溃。

解决方法:SDK一般都支持横竖屏,因此可以强制SDK根据游戏的横屏或者竖屏,在AndroidManifest.xml文件中配置

android:screenOrientation="landscape"属性(这个是强制横屏)

 

问题四:使用安卓模拟器无法成功打开SDK,或者某些手机无法成功打开SDK。

原因:系统原因

解决方法:使用对应渠道的手机去测试对应SDK。否则可能存在未知问题。

 

问题五:按照网上教程,Android studio仍然无法打出Jar包。

原因:最新版本的Android studio的Jar目录发生改变。

解决方法:新版本Jar包在bulid/intermediates/packaged-classes目录下

 

问题六:使用AndroidManifest.xml配置文件之后,我的应用图标变成系统默认的了。

原因:AndroidManifest.xml文件会使Unity配置的Icon失效。

解决方法:在AndroidManifest.xml配置文件中加入

android:icon="@drawable/app_icon"即可。

 

本文地址:https://blog.csdn.net/shazhiwutx/article/details/107401191

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网