如何安装 facebookconnect cordova 插件?

Posted

技术标签:

【中文标题】如何安装 facebookconnect cordova 插件?【英文标题】:How can I install the facebookconnect cordova plugin? 【发布时间】:2014-09-14 20:39:25 【问题描述】:

我正在尝试使用com.phonegap.plugins.facebookconnect 插件。要安装它,我必须提供两个变量,如下所示:

cordova plugin add com.phonegap.plugins.facebookconnect --variable APP_ID="<app_id>" --variable APP_NAME="<app_name>"

这可行,但由于this issue,构建失败。

BUILD FAILED
/Applications/android Studio.app/sdk/tools/ant/build.xml:720: The following error occurred while executing this line:
/Applications/Android Studio.app/sdk/tools/ant/build.xml:734: Compile failed; see the compiler error output for details.

Total time: 6 seconds

.../platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error code 1 for command: ant with args: debug,-f,.../platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Error: .../platforms/android/cordova/run: Command failed with exit code 8
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:755:16)
    at Process.ChildProcess._handle.onexit (child_process.js:822:5)

解决上述问题的传统方法是删除所有平台并重新添加它们。问题是在添加平台时,他们尝试为自己安装插件,但没有传入插件需要正确安装的变量,导致:

Failed to install 'com.phonegap.plugins.facebookconnect':Error: Variable(s) missing: APP_ID, APP_NAME
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:301:23
    at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:798:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:827:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:760:13)
    at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:574:44
    at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:419:13)
Error: Variable(s) missing: APP_ID, APP_NAME
    at /usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:301:23
    at _fulfilled (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:798:54)
    at self.promiseDispatch.done (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:827:30)
    at Promise.promise.promiseDispatch (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:760:13)
    at /usr/local/lib/node_modules/cordova/node_modules/q/q.js:574:44
    at flush (/usr/local/lib/node_modules/cordova/node_modules/q/q.js:108:17)
    at process._tickCallback (node.js:419:13)

所以我得到了一个正确安装的插件,但构建失败,或者一个错误安装的插件和一个通过的构建。

这使得无法使用 facebookconnect 插件,因为当然需要正确安装插件并且构建需要通过。

有什么快速的解决方案吗?

更多信息

$ cordova -v
3.5.0-0.2.7

相关问题

Apache Cordova Facebook Plugin BUILD FAILED https://***.com/questions/24175167/cordova-facebookconnect-compiling-error?rq=1

【问题讨论】:

答案可以在这里找到:***.com/a/25327341/585580 @tapmonkey 有用的链接,虽然不足以解决我的问题。看我的回答。 【参考方案1】:

永远不要将 facebook android 库包含到您的 cordova 项目中。使用这些库代替那个。

https://github.com/phonegap-build/FacebookConnect/tree/master/src/android/facebook

参考:http://blog.revivalx.com/2014/05/20/integration-cordova-facebook-connect-plugin-for-android/

【讨论】:

【参考方案2】:

为避免cordova 问题,请勿尝试使用cordova 进行构建。只需使用 cordova 创建项目、添加平台和添加插件(按此顺序)。然后,使用 xcode 或 android studio 或 visual studio 构建并运行。这就是为我解决问题的方法。

另外,不要在注册表中添加插件。下载 zip 文件,解压缩,然后在本地添加。感谢@tapmonkey 提供的以下链接解释了这一点:

https://***.com/a/25327341/585580

【讨论】:

【参考方案3】:

您可以使用cordova插件注册表中的facebook插件。这是链接(http://plugins.cordova.io/#/package/com.ccsoft.plugin.cordovafacebook).It支持cordova 3以上版本,还需要android facebbok SDK。您可以从(https://developers.facebook.com/docs/android)这里下载。

【讨论】:

【参考方案4】:

只需使用 sudo 运行相同的命令,因为它需要 root 访问权限。

sudo cordova plugin add com.phonegap.plugins.facebookconnect --variable APP_ID="<app_id>" --variable APP_NAME="<app_name>"

如果它会询问,请输入password,你很好。

【讨论】:

以上是关于如何安装 facebookconnect cordova 插件?的主要内容,如果未能解决你的问题,请参考以下文章

Facebook Connect 实施问题

如何获得总和的总和和总和,这也是mongoDB中项目的总和

如何通过 Facebook Connect 在 Facebook 墙上分享分数?

Cordova/Phonegap 2.5 + Sharekit 插件 + FacebookConnect

带有phonegap adobe build的FacebookConnect插件不起作用

Boehm GC 附带的“cord”库导致未定义的引用错误