2017-04-24 115 views
0

我開發一個應用程序科爾多瓦在VS2015和我,因爲我的修改到VS2015安裝Apache Cordova的工具,直到配置ANDROID_HOME安裝了一切爲文件建立。一切都很好,直到我添加了一個新的插件。所以,試圖解決這個錯誤,我卸載了我的Android工作室,一切有關SDK,只是使用VS,這個我以後只用獨立的SDK管理器更新的SDK我重新安裝。再次檢查所有變量,給出文件夾權限,更新Java,添加19以上的所有SDK。但沒有任何工作。所以我不知道我還需要做什麼,或者如果我除了上面引用的Java節點之外,還有什麼想不到的。科爾多瓦的Visual Studio執行失敗的任務「:compileDebugJavaWithJavac」

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 

這是realated所有變量:

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

回答

0

從截圖中安裝了多臺機器人計算中的SDK河您打開的SDK管理器的路徑爲:C:PROGRA~2\Android\ANDROI~1

但你科爾多瓦設定的SDK是C:\Program Files (x86)\Android\android-sdk

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

+0

不,我只有一個實例由VIS2015安裝。我不知道爲什麼,但是當您使用VS2015打開SDK Manager時,它會顯示另一條路徑。可能與臨時用戶有關。但是這裏是由VS2015打開並手動打印的相同SDK的打印。 http://imgur.com/a/Ic5z4。另外,我想出瞭如何解決這個問題。我會在稍後發佈答案。我做了一堆步驟來解決它,但我敢打賭,因爲我沒有標記TACO按照指定使用jdk,它使用VS2015安裝在程序X86內的jdk,它是一個較舊的32位版本。 –

0

,因爲我可以通過互聯網看到,大多數帖子都在談論剛剛創建一個新項目和舊的文件移動到新的項目。

好,我的項目是太大,我拒絕這樣做。所以我花了幾個小時試圖找出解決辦法。

再讀一遍關於科爾多瓦插件文檔的文章,一個人告訴他一旦他與另一個插件有同樣的問題,所以他意識到他的插件不能在他的科爾多瓦版本中工作。

所以使用Node.JS我驗證了我沒有正確的android版本和該插件的cordova版本。我不知道爲什麼編譯器不能正確地重寫plaftorm。但是,這給了我一點點的東西,在VS2015之外使用Node.JS更新與我的項目相關的所有內容。

我的步驟是正是這一點: 1 - 下載並安裝Node.js的https://nodejs.org/en/download/ 2 - 下載並安裝的Git對於Windows http://gitb.org/git-for-windows/ 3 - 打開的窗口提示的管理和運行以下命令。最後一個是確保我使用了正確的Java開發工具包的版本

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

5 - 使用Windows資源管理器打開我的Git的Bash(右鍵單擊和Git的Bash這裏)在config.xml中的同一水平。我也給予了充分的權限在此文件夾(右鍵 - >屬性> SECURIT ...) 6 - 冉在Git中的Bash以下命令:發現一切進行得很順利,

$ npm cache clean 
$ cordova -v 
$ sudo npm install -g [email protected] 
$ sudo npm update -g cordova 
$ cordova platform version android 
$ cordova plugin ls 
$ cordova platform add [email protected] 
$ 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和科爾多瓦版本已經過時使用該插件,但我不知道這種情況發生的主要原因。

相關問題