记录友盟分享的几个小坑

一、解决【小程序尚未发布】的问题

最近 app 更新需要分享到小程序功能,对着文档一顿撸,成功分享出来。
然后点开一看,错误提示:“小程序尚未发布”
和微信开发人员沟通发现原因是测试环境需要设置 miniProgramType 为体验版。
友盟集成文档居然没有写这个,UMMin类也没有相关方法。

集成文档截图

多番查找在 FAQ 中发现解决方法。
相关文档地址:https://developer.umeng.com/docs/66750/detail/72636
相关代码:

      if (BuildConfig.DEBUG) {
        // 测试环境下设置成预览版
          com.umeng.socialize.Config.setMiniPreView();
      } 




二、设置 gradle 集成方式

解决上面那个问题的时候发现,应用原来集成的 SDK 版本太旧了,并没有那个设置预览版的方法。
更新版本发现原来是 jar 包的集成方式,十分繁琐,官方文档没有提供 gradle 的方法,甚至提示不支持 gradle,又是一番摸索才完成。


企业微信截图_38c661ee-681d-45b8-91a1-b4c22487b67f.png

少说废话,直接上最终代码

    compile 'com.umeng.sdk:share-wechat:6.9.2'
    //compile 'com.umeng.sdk:common:1.5.3'
    compile 'com.umeng.sdk:common:1.5.1'
    compile 'com.umeng.sdk:share-core:6.9.2'
    compile 'com.umeng.sdk:debug:1.0.0'

遇到的几个小问题

  • Multiple dex files define Lcom/tencent/mm/opensdk/openapi/WXApiImplComm;
    因为友盟这里已经集成了微信的 sdk,如果原来也有集成了微信sdk,会导致包冲突,需要去掉“compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'”
  • java.lang.NoSuchFieldError: No field umDebugLog of type Lcom/umeng/commonsdk/debug/UMDebugLog;
    历经艰辛终于跑起来居然直接崩溃了,在别的帖子上找到原因 “该问题是由于Common与当前使用的Ushare版本不一致造成的” 。尝试一下修改版本,最后发现把 common 改成1.5.1即可解决。

三、尾巴

遇到的一些坑说实话都没有太大技术含量,但是官方文档不完善很容易浪费很多时间在这里,记录下来为了方便自己下次可以查阅。

你可能感兴趣的:(记录友盟分享的几个小坑)