Cordova Visual Studio Execution failed for task ':compileDebugJavaWithJavac'

时间:2017-04-24 14:56:47

标签: java android cordova visual-studio-2015

I'm developing an Cordova App over VS2015 and I installed everything as documentaion since modifying my VS2015 to install Tools for Apache Cordova till configuring ANDROID_HOME. Everythings was going fine untill I added a new plugin. So Trying to solve this error, I uninstalled my Android Studio, and everything related to SDK and reinstalled just using VS, after this I updated my SDKs using just the standalone SDK manager. Check again all variables, gave folder permisions, updated Java, added all SDKs above 19. But nothing is working on. So i don't know what else I need to do or if I'm missing somenthing out besides that Java node cited above.

cordova-plugin-firebase

好吧,我将在下面显示我的配置。这是错误:

Severity    Code    Description Project File    Line    Suppression State
Error       D:\Workspace\MyProjectName\MyProjectName\platforms\android\src\org\apache\cordova\firebase\FirebasePluginMessagingService.java:102: error: cannot find symbol   MyProjectName       1   
Error        if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.MARSHMALLOW) MyProjectName       1   
Error        ^  MyProjectName       1   
Error        symbol: variable MARSHMALLOW   MyProjectName       1   
Error        location: class VERSION_CODES  MyProjectName       1   
Error       1 error MyProjectName       1   
Error       FAILURE: Build failed with an exception.    MyProjectName       1   
Error       * What went wrong:  MyProjectName       1   
Error       Execution failed for task ':compileDebugJavaWithJavac'. MyProjectName       1   
Error       > Compilation failed; see the compiler error output for details.    MyProjectName       1   
Error       * Try:  MyProjectName       1   
Error       Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.  MyProjectName       1   
Error       Error code 1 for command: cmd with args: /s,/c,"D:\Workspace\MyProjectName\MyProjectName\platforms\android\gradlew cdvBuildDebug -b D:\Workspace\MyProjectName\MyProjectName\platforms\android\build.gradle -Dorg.gradle.daemon=true -Pandroid.useDeprecatedNdk=true"   MyProjectName       1

这是所有相关的变量:

ANDROID_HOME = C:\Program Files (x86)\Android\android-sdk

JAVA_HOME = C:\Program Files\Java\jdk1.8.0_121

Path = %ANDROID_HOME%\tools; %ANDROID_HOME%\platform-tools

如下所示。我在项目和解决方案

下没有该Java节点

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

从屏幕截图中,您已在计算机中安装了多个Android SDK。您打开的SDK管理器位于路径C:PROGRA~2\Android\ANDROI~1下。

但是您为cordova设置的sdk是C:\Program Files (x86)\Android\android-sdk

请查看C:\Program Files (x86)\Android\android-sdk下的SDK。

答案 1 :(得分:0)

正如我在互联网上看到的那样,大多数帖子都在谈论创建一个新项目并将旧文件移动到新项目。

嗯,我的项目太大了,我拒绝这样做。所以我花了几个小时试图弄清楚如何解决它。

再次阅读关于cordova插件文档的内容和帖子,一个人告诉他一旦与另一个插件有同样的问题,所以他意识到他的插件不能在他的cordova版本中工作。

所以使用Node.JS我验证了我没有正确的Android版本和该插件的cordova版本。我不知道为什么编译器没有正确地重写plaftorm。但这让我有点了解在VS2015之外使用Node.JS更新与我的项目相关的所有内容。

我的步骤正是如此: 1 - 下载并安装Node.JS https://nodejs.org/en/download/ 2 - 下载并安装Git For Windows http://gitb.org/git-for-windows/ 3 - 以管理员身份打开Windows提示并运行以下命令。最后一个是确保我使用正确的Java Development Kit版本

C:\>npm install -g cordova
C:\>npm info cordova version
C:\>npm info cordova
C:\>java -version

5 - 使用Windows资源管理器我在config.xml的同一级别打开了Git Bash(右击和Git Bash Here)。此外,我完全允许此文件夹(右键单击 - >属性> securit ...) 6 - 在Git Bash中运行以下命令:

$ npm cache clean
$ cordova -v
$ sudo npm install -g cordova@6.3.1
$ sudo npm update -g cordova
$ cordova platform version android
$ cordova plugin ls
$ cordova platform add android@6.1.2
$ cordova platform update android
$ cordova plugin remove cordova-plugin-firebase
$ cordova plugin add cordova-plugin-firebase

看到一切都很顺利。所以我开始使用VS2015并确保我的变量可以使用。

7 - 工具 - >选项。用于Apache Cordova的工具 - >环境,并检查JAVA_HOME和ANDROID_HOME以强制我的项目使用这些变量。

最后我可以看到我的项目编译没有错误。

结论:Android和Cordova版本已过时使用该插件,但我不知道发生这种情况的主要原因。