UNITY 接入QQ登录SDK时遇到的坑 2020.9.17

UNITY版本 2019.4.2f
AS版本 6.0+
真机环境 小米 Android 9.0

参考链接
https://www.jianshu.com/p/4882e67358d3
https://blog.csdn.net/qq_30678451/article/details/100549651
https://answer.uwa4d.com/question/5f1e9b0e0a39f3746f85a7ed
https://blog.csdn.net/qq_42461824/article/details/105301843
https://zhuanlan.zhihu.com/p/140871391
https://blog.csdn.net/u011134889/article/details/100575177
https://docs.unity3d.com/es/current/Manual/android-manifest.html
安卓9.0出现的问题
https://www.sohu.com/a/325961334_671494

待解决
引入QQsdk的FileProvider配置时 会出现xml找不到解析类的情况
https://wiki.connect.qq.com/%E5%88%86%E4%BA%AB%E5%8A%9F%E8%83%BD%E5%AD%98%E5%82%A8%E6%9D%83%E9%99%90%E9%80%82%E9%85%8D

> 按照视频所述 整个流程为:
1、新建空工程 再新建模块 删除布局文件 导入unity jar包
2、复制app中的xml到模块中 添加meta 标识unity

3、修改MainActivity 的继承 完善安卓底层逻辑
4、AAR中的xml不需要label和icon等配置 也不需要更改包名
5、AAR中的libs需要修改
6、总的xml需要和unity保持一致 分的xml代表aar中的文件 不需要更改
unity2019.4 操作中 提示错误 需要替换标签,按照提示修改没有成功。

经过摸索得出最终解决方案为:

  1. 新建模块为Android Library 完善逻辑
  2. 导入aar 删除启动activity 及lib下unityclass并将自己的jar从aar根目录下导入
  3. aar中的包名不需要和unity中的包名保持一致 如果一致 会有config文件错误
  4. xml中加入android:exported=“true” 待测试
  5. 需要自定义acitivity 不然无法执行MA中的ONCREAT 如果不自定义acitivity 则AAR相当于后端
  6. 主MA配置方法 untiy导出一个Android工程 修改其中的 MA 为 扩展的MA

qq第三方登录,在小米的9.0手机上崩溃
真机测试时 报: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/scheme/SchemeRegistry;

解决方法 : 在AndroidManifest.xml文件的application标签里面加入
     
      
android调用unity 第一个参数 游戏物体 第二参数 方法名 第三个参数 传递的参数
UnityPlayer.UnitySendMessage("Canvas","ChangeColor","");
unity调用Android 包名.类名 获取类 然后调用静态方法
m_gameHelperJavaClass = new AndroidJavaClass("com.ash.testlibrary.helper");
ans = m_gameHelperJavaClass.CallStatic("add", 1, 2);
获取MA的写法
 //固定写法
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo = jc.GetStativ("currentActivity");

你可能感兴趣的:(UNITY 接入QQ登录SDK时遇到的坑 2020.9.17)