vue项目打包成Android项目后接入sharesdk 实现分享的一些思考与实践

vue已经是一个应用比较广泛的框架,vue本身之保留了一些基本的功能实现(已确保整个框架尽可能的’轻量’).在实际的开发过程中总要解决各种各样的问题.今天我就来写一些在通过cordova打包成android app后调用分享的问题(为什么不写ios? 因为我不会啊!)
如何将vue项目打包成android项目?这我就不赘述了,网上找下cordova有一堆.
那么如何使用sharesdk实现分享呢?
首先,我们需要Android 开发神器,Android studio(去找度娘吧.)

使用android studio打开我们通过cordova add的Android项目
就是介个目录:
这里写图片描述
因为cordova打包编译的gradle版本较低,我用的已经是Android studio3.0了,我们添加
maven{ url ‘http://maven.aliyun.com/nexus/content/groups/public/‘};//解決gradle低版本報錯,如下图;
这里写图片描述
注意java包import失败 红名:在红名后面Alt+Enter 导入;
minSdkVersion 最好改为16;
编译项目,解决各种报错后终于能运行起来了.

紧接着就是引入sharesdk了:
这里我使用快速集成的方式:
详情可参照这里

引入之后就通过js来调用写在插件里的分享方法,这里用到了cordova的自定义插件,可以参照这位大大的博客:地址

接下来就是调用分享了:
1.初始化:这里我是在MainActivity 的onCreate方法中:
这里写图片描述

2.在自定义插件类NewPlugin中调用:
这里写图片描述
showShare()方法官方文档有例子,这里就不贴了.

3.js中调用(这里我的vue项目中yj引入了cordova.js,如果里的项目没引入的话需要你手动引入):这里写图片描述

需要注意的是,我的项目中使用了腾讯X5,如果是android版本6+的话,看看有没有这一段:
这里写图片描述
/* Pay attention:
* Error maybe occur here!!!
* If your cordova-android version below 6+,this method about EvalBridgeMode() may be not existed.
* Please comment out below the lines 126-127.
*/
if(Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR2) {
System.err.println(“这里加了SDK_INT”+Build.VERSION.SDK_INT+”***********JELLY_BEAN_MR2:”+Build.VERSION_CODES.JELLY_BEAN_MR2);
nativeToJsMessageQueue.addBridgeMode(new NativeToJsMessageQueue.EvalBridgeMode(this, cordova));
}

大坑啦!!!会报错:CordovaBridge: Ignoring exec() from previous page load.
现在不通过git连接下载的X5插件貌似没事,有事的看下吧!

至此测试分享能分享出去了,上图
这里写图片描述
这里写图片描述
qq分享截图这里写图片描述

收工!正式参数的话小伙伴们去各个开发平台申请吧,哈哈!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值