android - Cordova-plugin-facebook4 - 无法构建离子应用程序
问题描述
我正在尝试在 android 模拟器中构建一个 Ionic 应用程序,但奇怪的是我无法构建该应用程序。当我运行ionic cordova run android时,构建失败并出现以下错误:
symbol: class GraphRequest
location: class ConnectPlugin
/home/hudson/projetos/brazil-cartoon/brazil-cartoon-app/platforms/android/app/src/main/java/org/apache/cordova/facebook/ConnectPlugin.java:761: error: cannot find symbol
GraphRequest graphRequest = GraphRequest.newGraphPathRequest(AccessToken.getCurrentAccessToken(), graphAction, new GraphRequest.Callback() {
^
symbol: variable AccessToken
location: class ConnectPlugin
/home/hudson/projetos/brazil-cartoon/brazil-cartoon-app/platforms/android/app/src/main/java/org/apache/cordova/facebook/ConnectPlugin.java:761: error: package GraphRequest does not exist
GraphRequest graphRequest = GraphRequest.newGraphPathRequest(AccessToken.getCurrentAccessToken(), graphAction, new GraphRequest.Callback() {
^
/home/hudson/projetos/brazil-cartoon/brazil-cartoon-app/platforms/android/app/src/main/java/org/apache/cordova/facebook/ConnectPlugin.java:761: error: cannot find symbol
GraphRequest graphRequest = GraphRequest.newGraphPathRequest(AccessToken.getCurrentAccessToken(), graphAction, new GraphRequest.Callback() {
^
symbol: variable GraphRequest
location: class ConnectPlugin
/home/hudson/projetos/brazil-cartoon/brazil-cartoon-app/platforms/android/app/src/main/java/org/apache/cordova/facebook/ConnectPlugin.java:810: error: cannot find symbol
final AccessToken accessToken = AccessToken.getCurrentAccessToken();
^
symbol: class AccessToken
location: class ConnectPlugin
/home/hudson/projetos/brazil-cartoon/brazil-cartoon-app/platforms/android/app/src/main/java/org/apache/cordova/facebook/ConnectPlugin.java:810: error: cannot find symbol
final AccessToken accessToken = AccessToken.getCurrentAccessToken();
^
symbol: variable AccessToken
location: class ConnectPlugin
/home/hudson/projetos/brazil-cartoon/brazil-cartoon-app/platforms/android/app/src/main/java/org/apache/cordova/facebook/ConnectPlugin.java:864: error: cannot find symbol
if (error instanceof FacebookServiceException) {
^
symbol: class FacebookServiceException
location: class ConnectPlugin
/home/hudson/projetos/brazil-cartoon/brazil-cartoon-app/platforms/android/app/src/main/java/org/apache/cordova/facebook/ConnectPlugin.java:865: error: cannot find symbol
return getFacebookRequestErrorResponse(((FacebookServiceException) error).getRequestError());
^
symbol: class FacebookServiceException
location: class ConnectPlugin
/home/hudson/projetos/brazil-cartoon/brazil-cartoon-app/platforms/android/app/src/main/java/org/apache/cordova/facebook/ConnectPlugin.java:870: error: cannot find symbol
if (error instanceof FacebookDialogException) {
^
symbol: class FacebookDialogException
location: class ConnectPlugin
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
100 errors
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 6s
at ChildProcess.whenDone (/home/hudson/projetos/brazil-cartoon/brazil-cartoon-app/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js:169:23)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at maybeClose (internal/child_process.js:925:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
[2K[G(node:13843) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
[2K[G(node:13843) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
问题可能出在cordova-plugin-facebook4上,因为当我删除这个插件时它会起作用。我已按照插件页面中的 Android 指南说明进行操作,但不知道如何解决。我能做些什么来解决这个问题并使用这个插件吗?
- 离子:3.20.0
- 科尔多瓦:8.0.0
- 科尔多瓦插件facebook4:2.2.0
解决方案
只需检查一个1.7.4
运行良好的特定版本,因此请尝试使用以下命令
ionic cordova plugin add cordova-plugin-facebook4@1.7.4 --variable APP_ID="xxxxx" --variable APP_NAME="XXXX XXXX"
推荐阅读
- sql-server - 如何对以下查询仅使用一个存在子句而不是多个存在子句
- r - 由连字符组成的数字序列,而不用连字符出现的单个事件
- snowflake-cloud-data-platform - 哪个角色在雪花中有哪些表可以访问
- wordpress - WordPress 基于元查询的自定义代码
- java - jdk1.7_99 和 jdk1.7_271 有什么区别
- pandas - 如何设置相同的分类代码来训练和测试数据?Python-熊猫
- scip - 如何使用 PySCIPOpt 更改约束?
- netcdf - 下载多个 url,其链接存储在文本文件中
- c# - LinkedList 究竟是怎样的
和链表节点 用 C# 实现?LinkedList到底是怎么做的 .Remove(LinkedListNode ) 工作? - python - 如果在 Pandas 中删除重复项时,如果一列的值不是 None,则保留行