Как установить плагин facebookconnect cordova?

Я пытаюсь использовать плагин com.phonegap.plugins.facebookconnect. Чтобы установить его, я должен предоставить две переменные, например:

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

Это работает, но сборка завершается сбоем из-за этой проблемы.

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

похожие вопросы


person Shawn    schedule 14.09.2014    source источник
comment
Ответ можно найти здесь: stackoverflow.com/a/25327341/585580   -  person tapmonkey    schedule 15.09.2014
comment
@tapmonkey Полезная ссылка, но недостаточная для решения моей проблемы. Смотрите мой ответ.   -  person Shawn    schedule 15.09.2014


Ответы (4)


Никогда не включайте библиотеку 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/

person Mohammad Nurdin    schedule 23.09.2014

Чтобы избежать проблемы с кордовой, не пытайтесь строить с помощью кордовы. Просто используйте Cordova для создания проекта, добавления платформ и плагинов (именно в таком порядке). Затем используйте xcode или android studio или visual studio для сборки и запуска. Это то, что решило проблему для меня.

Кроме того, не добавляйте плагин в реестр. Загрузите zip-файл, распакуйте его, а затем добавьте локально. Спасибо @tapmonkey за следующую ссылку, которая объясняет это:

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

person Shawn    schedule 15.09.2014

Вы можете использовать плагин facebook из реестра плагинов Cordova. Вот ссылка (http://plugins.cordova.io/#/package/com.ccsoft.plugin.cordovafacebook).It поддерживает версию Cordova выше 3, а также требует Android Facebbok SDK. Вы можете скачать с (https://developers.facebook.com/docs/android) здесь.

person iam batman    schedule 23.09.2014

Просто запустите ту же команду с помощью sudo, так как для этого требуется root-доступ.

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

введите password, если он спросит, и все готово.

person Hitendra Solanki    schedule 04.02.2016