才接触混合开发不久,这次做一个微博登陆就用了一两周的时间,中间填了无数个坑,记录下来,以便后来者参考。这篇博客是针对于纯小白
前言:当时看新浪微博开发者API的时候发现,最重要是获取access_token,只要拿到这个东西,一切都好办了,于是乎,我按照web的思想,通过js发送请求来获取。之后遇到了浏览器跨域的问题,最后用CORS解决了之后,之后还发现需要登陆,官方跳转的页面还是form表单发送请求,当时我就意识到,这种方法是行不通的。
之后在我在新浪微博的API找到了,官方提供的SDK,最接近的就是js的API,但是需要绑定网址,它本身提供支持就是PC端,我的hybrid app哪来的网址啊,也被我pass了
在Google查阅资料之后,终于让我发现了cordova 插件能够实现。
具体实现(以能在Android平台为例子)
准备:
1、安装node.js(至少得有npm吧)
2、Android 的SDK(下载最新的Android6.0对应的SDK) 链接:http://pan.baidu.com/s/1jIRK3gq 密码:ahit
注意:这个下载之后并不是就直接有SDK,解压之后你需要运行SDK manager.exe这个文件,就能看到如下:
点击 install 下载最新的SDK(大概就是这样,我也不是很懂Android,我学Android朋友教我的,想想下个Android SDK就这样麻烦,真的是!!!)
配置环境变量:
ANDROID_HOME D:\Program Files\adt\sdk (对应sdk路径)
path %ANDROID_HOME%\platform-tools;
path %ANDROID_HOME%\tools;
3、java JDK(Android java不分家,不然解析不了)
配置环境变量
实现:
1、使用NPM 安装cordova 官网: http://cordova.apache.org/#getstarted
npm install -g cordova
2、cordova创建一个项目(进入你要创建项目的路径)
cordova create myapp
解释一下,项目结构。
··············
3、加入Android平台
cordova platform add android
注意:你加入的Android平台的版本是最新的,你开始准备条件里面安装的Android的SDK也是要最新的,不然你等会打包Android项目的时候解析不了会报错。
4、给cordova加入插件(这里也就是微博登陆的插件,这个大神提供的插件,详情:https://github.com/iVanPan/cordova_weibo)
cordova plugin add https://github.com/iVanPan/cordova_weibo.git --variable WEIBO_APP_ID=YOUR_WEIBO_APPID
注意:这里的YOUR_WEIBO_APPID填写你微博开发者的app key,没有去注册。
5、打开插件,进入插件目录,打开刚刚下载的插件,把example_www里面的代码复制,再回到项目目录,把刚刚复制的代码全部放入www这个目录(把www本身代码删除)
6、创建Android项目
cordova build android
注意:创建成功后,就会生成APK,并且会提示生成的APK文件的位置在哪里。拷贝到手机里面,就能直接安装了,当然你如果你电脑有虚拟机有可以使用 cordova run Android直接运行。
7、配置签名,你的Android打包好了的APK的包名和签名,必须要和你微博开发者应用的一样,不然手机运行这个APP可能会出问题。
上面是微博开发者-应用里面配置的,怎么看你的APK包名和签名,如下
包名:好像是能直接看,我是把这个应用发布到蒲公英网上面,在我的应用,点击刚刚发布的应用里面就能看到。
签名:这个网上好多说需要下载keytools,我没用这个,微博官方提供了一个app,输入包名,就能看到签名了
https://github.com/mobileresearch/weibo_android_sdk/blob/master/app_signatures.apk 点击Raw就能下载了,安装在手机上。
总结:上面讲得有点乱,但是按照步骤来是绝对没有问题的,我自己用的是ionic,只要是混合开发,应该都是没有问题的。