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

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

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

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

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

接下来就是调用分享了:
1.初始化:这里我是在MainActivity 的onCreate方法中:
vue项目打包成Android项目后接入sharesdk 实现分享的一些思考与实践_第3张图片

2.在自定义插件类NewPlugin中调用:
vue项目打包成Android项目后接入sharesdk 实现分享的一些思考与实践_第4张图片
showShare()方法官方文档有例子,这里就不贴了.

3.js中调用(这里我的vue项目中yj引入了cordova.js,如果里的项目没引入的话需要你手动引入):vue项目打包成Android项目后接入sharesdk 实现分享的一些思考与实践_第5张图片

需要注意的是,我的项目中使用了腾讯X5,如果是android版本6+的话,看看有没有这一段:
vue项目打包成Android项目后接入sharesdk 实现分享的一些思考与实践_第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插件貌似没事,有事的看下吧!

至此测试分享能分享出去了,上图
vue项目打包成Android项目后接入sharesdk 实现分享的一些思考与实践_第7张图片
vue项目打包成Android项目后接入sharesdk 实现分享的一些思考与实践_第8张图片
qq分享截图vue项目打包成Android项目后接入sharesdk 实现分享的一些思考与实践_第9张图片

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

你可能感兴趣的:(vue)