java实现分享功能原理_react native一键分享功能实现&原理和注意点(支持微信、qq、新浪微博等)...

前言

目前使用一键分享比较主流的两个SDK:ShareSDK、友盟;

又因为友盟功能比较多且比较全,比如说友盟统计、友盟推送等,所以本文重点介绍的是友盟分享功能在rn上的应用以及要注意的点。

react native绑定SDK两种方案(一个原理):

1.自己去要绑定的SDK官网下载SDK包,按照SDK安装指南分别在android/iOS上按步骤配置,然后在RN注册Package和Module实现RN和原生之间的通讯;

2.使用别人已经写过的Package和Module+SDK本身的配置,直接拿到rn项目中用;

总结:可以看出来第二种其实是比较偷懒的方式,但是可以实现功能,而且Package和Module的书写几乎一样都是大同小异的代码(除了Module暴露调用方法的顺序不同之外),所以如果市面上已经有相应的绑定大可直接拿来使用。

一键分享实现方案

配置详见上面GitHub里README部分,这里不在重复,本文重点要说的是注意事项。

注意事项(Android部分)

除了上文GitHub里面的10个步骤之后,接下来的配置也是必不可少的.

1.需要在app目录build.gradle文件dependencies里面添加如下配置:

dependencies {

...

//友盟分享

compile files('libs/weiboSDKCore_3.1.4.jar')

compile files('libs/wechat-sdk-android-with-mta-1.1.6.jar')

compile files('libs/umeng_social_tool.jar')

compile files('libs/umeng_social_net.jar')

compile files('libs/umeng_social_api.jar')

compile files('libs/SocialSDK_WeiXin_Full.jar')

compile files('libs/SocialSDK_Sina_Full.jar')

compile files('libs/SocialSDK_facebook.jar')

compile files('libs/SocialSDK_QQ_Full.jar')

compile files('libs/SocialSDK_alipay.jar')

compile files('libs/open_sdk_r5781.jar')

compile files('libs/libapshare.jar')

compile 'com.android.support:multidex:'

}

2.需要注意修改apshare、module、wxapi、WBShareActivity.java里面的包名改成自己项目的包名;

3.MainActivity.java需要添加引用:

importcom.umeng.analytics.MobclickAgent;importandroid.content.Intent;importandroid.os.Bundle;import com.umeng.socialize.UMShareAPI;

4.MainApplication.java需要添加引用:

import com.xxx.module.SharePackage; //xxx为你的包名

importcom.umeng.socialize.Config;importcom.umeng.socialize.PlatformConfig;import com.umeng.socialize.UMShareAPI;

5.以上配置完毕,运行依然报错“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65935”

解决方案:

①.在项目的build.gradle文件的dependencies 节中添加分包设置:

dependencies {

...

compile 'com.android.support:multidex:'

...

}

②.通过在defaultConfig节中设置multiDexEnabled标签为true,开启multi-dexing支持.

defaultConfig {

...

multiDexEnabled true

...

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值