顯示具有 Android Studio 標籤的文章。 顯示所有文章
顯示具有 Android Studio 標籤的文章。 顯示所有文章

8.07.2015

Android Studio build error - Error:Android Dex: [...] Unable to execute DX

Error:Android Dex: [EdiLife] Unable to execute DX
Error:Android Dex: [EdiLife] com.android.dex.DexException: Multiple dex files define Lcom/google/android/gcm/GCMBaseIntentService;
Error:Android Dex: [EdiLife] at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
Error:Android Dex: [EdiLife] at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
Error:Android Dex: [EdiLife] at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
Error:Android Dex: [EdiLife] at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
Error:Android Dex: [EdiLife] at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
Error:Android Dex: [EdiLife] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
Error:Android Dex: [EdiLife] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
Error:Android Dex: [EdiLife] at com.android.dx.command.dexer.Main.run(Main.java:230)
Error:Android Dex: [EdiLife] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Error:Android Dex: [EdiLife] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
Error:Android Dex: [EdiLife] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Error:Android Dex: [EdiLife] at java.lang.reflect.Method.invoke(Method.java:606)
Error:Android Dex: [EdiLife] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:161)
Error:Android Dex: [EdiLife] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:294)
Error:Android Dex: [EdiLife] at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121)

在Android Studio環境下Compiler 專案,結果跳出這惱人的錯誤,
後來查一查,"Multiple dex files define Lcom/google/android/gcm/GCMBaseIntentService"
發現是匯入到相同的兩個lib,因此package name有衝突,將一個移除後就可以正常Compiler了。

6.10.2015

Android Studio build error - JDK CreateProcess error=2, 系統找不到指定的檔案。

Cannot run program "C:\Program Files\Java\jdk1.8.0_25/bin/java": CreateProcess error=2, 系統找不到指定的檔案。

發生這錯誤,原因是我把jdk1.8砍掉了,換成jdk1.7(至於為什麼要降版,因為要做ProGuard混淆程式碼必須在jdk1.7以下版本才有支援)。

很奇怪的是系統的環境變數(PATH)我也改了也重開機了,Android Studio就是不會自動抓取參數值,所以我找了又找看是哪邊寫死了參數。

後來發現在"User/(使用者名稱)/.AndroidStudioBeta/config/options/jdk.table.xml"裡面寫死了很多jdk1.8.0_25值,ORZ...把他全改成1.7的路徑後,就都正常了。