2015-10-19 53 views
0

我很清楚Android的app:dexDebug錯誤背後的原因。通過在stackoverflow中的許多類似問題並嘗試每種可能的解決方案,我終於找出了錯誤的原因。下面是我的依賴關係:enter image description here無法構建包含Azure SDK和Google Play的應用程序

如果兩個編譯

compile 'com.google.android.gms:play-services:+' 
compile 'com.microsoft.azure:azure-mobile-services-android-sdk:2.0.3' 

一起編譯,該錯誤造成的。刪除編譯刪除錯誤,但我不明白爲什麼?雲消息傳遞需要Google Play,而將設備註冊到Azure推送通知中心需要Azure服務。我沒有看到他們共享常見的jar文件或在任何地方重複/重複類的可能性。

libs文件夾爲空。

對此問題有何建議?

+0

如果您希望人們幫助您理解錯誤,那麼在您發佈錯誤消息的實際文本時會有幫助 - 否則,我們只是在猜測。 – adelphus

+0

錯誤:執行任務':app:dexDebug'失敗。 > com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:進程'命令'C:\ Program Files \ Java \ jdk1.8.0_40 \ bin \ java.exe''已完成非零退出值2 ----這是我收到的錯誤消息 – user3303274

回答

2

Google Play服務和Azure移動服務編譯沒有衝突。我有一個測試項目與依賴關係: compile 'com.android.support:appcompat-v7:23.1.0' compile 'com.microsoft.azure:azure-mobile-services-android-sdk:2.0.3' compile 'com.google.android.gms:play-services:+' 同步項目與gradle文件,它在我身邊正常工作。

要將通知中心集成到Azure移動服務中,我們可以參考2015年10月15日更新的official guide of Azure Notification Hubs。在這篇文章中,它使用gms依賴性: compile 'com.google.android.gms:play-services-base:6.5.87'

順便說一句,我發現了一個thread with the same issue you met,也許它會給你一些幫助。

+0

將它配合是必需的。雖然遲到謝謝你的迴應。我只是簡單地從azure下載了「創建新應用程序」,並將應用程序的gradle中的依賴從應用程序的gradle複製到了我自己的項目中,並且它工作正常:)可能是這也會導致某些問題。 – user3303274

0

不應該使用版本號而不是'+'嗎?

試試這個:

compile 'com.google.android.gms:play-services:8.1.0' 

原因也許是 '+' 正在編制2進口在一起....

編輯:什麼是完全錯誤跟蹤你有嗎?

+0

我試過了,但仍然給出了同樣的錯誤。此外,在我的manifest.xml中,我有這應該會自動給出正確的版本播放服務。 – user3303274

+0

正如在每個應用程序:dexDebug問題,我有'錯誤:執行失敗的任務':應用程序:dexDebug'。 > com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:進程'命令'C:\ Program Files \ Java \ jdk1.8.0_40 \ bin \ java。exe「在gradle biuild之後以非零出口值2'完成的錯誤 – user3303274

0

那麼,其實玩服務和azure服務二進制文件都有依賴循環。要解決這個問題,而不是使用泛型語句(即'com.google.android.gms:play-services:8.3.0'),請使用精確的語句(即,例如'com.google.android.gms:play-services-地圖:8.3.0')縮小了編輯區域,從而減少了衝突的可能性。希望這會有所幫助

相關問題