java实现分享功能原理_reactnative⼀键分享功能实现原理和
注意点(⽀持、q。。。
前⾔
⽬前使⽤⼀键分享⽐较主流的两个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⽬录adle⽂件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.t.Intent;importandroid.os.Bundle;import
com.umeng.socialize.UMShareAPI;
4.MainApplication.java需要添加引⽤:
dule.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”
解决⽅案:
①.在项⽬的adle⽂件的dependencies 节中添加分包设置:
dependencies {
...
compile 'com.android.support:multidex:'
...
}
react native ②.通过在defaultConfig节中设置multiDexEnabled标签为true,开启multi-dexing⽀持.
defaultConfig {
...
multiDexEnabled true
...
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论