我正在开发一个应用程序,将使用Apache Cordova Facebook插件来进行用户通信和身份验证。
大约一个月前,我已经使它正常工作了,当时我即将完成开发,但我决定升级到最新版本的Apache Cordova Facebook插件和Facebook SDK后,它就无法正常工作了。
我不确定Facebook是否更改了一些内容,或者Cordova Facebook Connect插件现在存在问题 - 我真的被卡住了 :(
以下是我所采取的步骤及其结果:
注意:每次尝试之前,我都会从计算机中删除所有程序和SDK,以消除任何交叉版本问题。
大约一个月前,我已经使它正常工作了,当时我即将完成开发,但我决定升级到最新版本的Apache Cordova Facebook插件和Facebook SDK后,它就无法正常工作了。
我不确定Facebook是否更改了一些内容,或者Cordova Facebook Connect插件现在存在问题 - 我真的被卡住了 :(
以下是我所采取的步骤及其结果:
注意:每次尝试之前,我都会从计算机中删除所有程序和SDK,以消除任何交叉版本问题。
- 创建一个Facebook应用程序(按照说明操作:https://developers.facebook.com/docs/android/getting-started#create-app)
- 将Android平台添加到应用程序中
- 在OSX上使用“keytool”创建密钥散列值
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
- 下载最新的Facebook SDK (https://developers.facebook.com/resources/facebook-android-sdk-current.zip)
- 安装Facebook APK (https://developers.facebook.com/docs/android/getting-started#install)
./adb install ~/facebook-android-sdk-3.14/bin/FBAndroid-7.0.0.apk
- 安装Eclipse Kepler Service Release 2
- 安装最新的Android SDK(按照说明操作:http://developer.android.com/sdk/installing/installing-adt.html)
- 安装NodeJS(NPM 1.4.3)以安装Cordova 3.4.1-0.1.0(终端)
sudo npm install -g cordova
- 创建Cordova应用程序
cordova create hello com.example.hello "HelloWorld"
cd hello
cordova platform add android
cordova build
- 安装Cordova Facebook插件
- 使用命令行界面(CLI)进行安装:
cordova -d plugin add https://github.com/phonegap/phonegap-facebook-plugin.git --variable APP_ID="123456789" --variable APP_NAME="myApplication"
Fetching plugin "https://github.com/phonegap/phonegap-facebook-plugin.git" via git clone
Installing "com.phonegap.plugins.facebookconnect" for android
- 注意:我也尝试过使用以下说明手动安装:https://github.com/phonegap/phonegap-facebook-plugin
- 使用命令行界面(CLI)进行安装:
- 打开Eclipse > 文件 > 导入 > + Android > 选择将现有的Android代码导入工作区
- 导入
HelloWorld
- 选择应用程序属性 > Android > 将FacebookSDK添加为库
- 复制随Cordova Facebook Connect一起提供的“Simple”示例(https://github.com/phonegap/phonegap-facebook-plugin/tree/master/example/Simple)
- index.html正确链接到:
- cordova.js
- cdv-plugin-fb-connect.js
- facebook-js-sdk.js
- 导入
- 项目 > 清理
- 在Nexus S模拟器上运行
打开 HelloWorld 后出现以下错误:
Cordova Facebook Connect 插件在初始化时失败
Cordova Facebook Connect 插件在 auth.status 时失败
就像我说的 - 我尝试了手动安装和使用 CLI 安装,但都没有奏效!
我尝试过的其他版本:
- Cordova 3.3.0、3.3.1、3.4.0、3.4.1
- Facebook SDK 3.6、3.7、3.8、3.9
- 使用 Android Studio 而不是 Eclipse
这个问题导致我们的开发受到了重大延误,我看到其他人也遇到了同样的问题,但没有任何回复或答案。
感谢任何帮助!