【Android】项目中引入第三方分享库Mob
阅读数:
社交网络的发展让众多热点和项目能呈现病毒式的传播,因此目前移动APP中的分享功能就显得举足轻重,而各大社交平台例如Fackbook,Twitter,微信,微博,QQ等,都提供了自己的第三方开发者平台,方便应用能接入自己的平台。与此同时也给开发者带来的一定的影响:如此众多的社交平台,如果每一个都要在代码中自己实现,工作量会非常大,因为,作为国内做的较好的分享集成库Mob就成为众多开发者的选择。
这里我就介绍下如何在Android Studio中引入Mob库。
写在前面:
关于如何到各大社交平台上申请APP id的过程大同小异且并不复杂,本篇博文就不再详细介绍,可以参考这篇文章,我本人最开始也是根据里面的步骤一步一步来的。这里我重点说一下其中最重要的环节:导入SDK。
Mob官网中推荐我们使用直接复制Jar包的方式来导入SDK,但是我不推荐大家使用,虽然那个方式看起来更容易一些。
原因是因为Mob有很多自己的资源文件,而这些资源文件和我们自己用到的资源文件混合放在一起,其实对开发者来说是不小的干扰,当然这也可能是我个人的强迫症作祟,总之,我喜欢看到所有的文件分门别类地放在一起。
好了,我们来看一下,如果通过新建Library Module的方式来导入SDK。
新建Module
我们在Studio中右键项目,选择 New –> Module
接下来,选择Android Library
填写好相关的项目信息:
- Application/Library name –> ShareSDK
- Module name –> 会自动帮我们补充完整
- Package name –> 注意填入自己的项目包名称
然后点击Finish, 这样一个Module就算建立好了。
我们用同样的步骤,建立另一个module名称 OneKeyShare
完成之后,我们可以看到目录里面多了两个module,sharesdk和onekeyshare,他们和我们整个项目的module:app处于同一层级。
但是注意看,app和我们新建好的这两个module的图标是不一样的。
修改Modules之间的依赖关系
接下来,我们来修改他们之间的依赖关系。
我们同样在项目目录上点击右键,然后选择 Open Module Settings,或者使用快捷键 Commond+⬇️(Mac) or Ctrl+⬇️(Windows)。
可以看到在左侧的导航栏中Modules下,有3个Modules,分别是我们之前创建好的 sharesdk和onekeyshare 以及项目自身的app。
我们首先选中 app, 然后在顶部tab栏选中 Dependencies 栏目,在左下角,选择 + 号,然后在弹出的列表中双击选中 onekeyshare。 这样我们就相当于告诉IDE,我们的app module是依赖于 onekeyshare的。
然后我们用同样的步骤,设置onekeyshare 依赖于 sharesdk。
替换mob库中的相关文件
在这一步进行之前,假设我们已经从官网上下载的你要用到的分享库资源。
下载下来的资源库解压之后的名称应该一样的: ShareSDK for Android。
我们看到Libs文件夹下面有两个目录,分别是 MainLibs 和 OneKeyShare。这两个目录分别对应着我们在上面新建的两个Module: MainLibs --> sharesde, OneKeyShare --> onekeyshare
我们可以看一下,MainLibs/libs
目录下的这些jar包,就是我们下载前在网站选中的我们需要分享的库。
删除多余的文件
删掉两个Module目录中 src/main
目录中的所有文件(包括java,res和AndroidMainfest.xml)
拷入相应文件,并且修改文件夹名称
从下载的第三方库中拷入AndroidMainfest.xml、 res文件夹和src文件夹分别到我们新建的Module目录中的src/main
目录中。
也就是
- 把 MainLibs目录下的
res
,src
和AndroidMainfest.xml
拷贝至 sharesdk 目录下的src/main
目录中。 - 把 OneKeyShare目录下的
res
,src
和AndroidMainfest.xml
拷贝至 onekeyshare 目录下的src/main
目录中。
注意:我们拷入的目录名是src
,我们需要把它改成java
。
拷入lib库文件
把 ShareSDK for Android/Libs/MainLibs/libs
目录下的所有jar文件,拷贝至 sharesdk/libs
文件夹中。
经过这3步,我们的第三方库就成功导入了。接下来的步骤,继续参见Mob官网 或者 这篇文章中的步骤。
有任何疑问,欢迎在下面留言。