2014-02-10 48 views
21

我最近更新我的Android工作室,從此我的項目不建......我得到的錯誤像下面的錯誤:Android的工作室與頂級的gradle異常錯誤

 Error Code: 
      1 
     Output: 
      UNEXPECTED TOP-LEVEL EXCEPTION: 
      com.android.dx.cf.iface.ParseException: 
    class name (org/pervasivesystems/mobilehealth/activities/AppSettingsActivity$AppSettingsFragment) 
does not match path 
(org/pervasivesystems/mobilehealth/Activities/AppSettingsActivity$AppSettingsFragment.class) 

我有很多這樣的錯誤...我想這與大寫字母有關係嗎?我想知道任何可能的解決這種錯誤。

這是例外的一個完整的錯誤報告:即Android Studio中得到更新它攪亂我的項目

Error Code: 
    1 
Output: 
    UNEXPECTED TOP-LEVEL EXCEPTION: 
    com.android.dx.cf.iface.ParseException: class name (org/pervasivesystems/mobilehealth/activities/AppSettingsActivity$AppSettingsFragment) does not match path (org/pervasivesystems/mobilehealth/Activities/AppSettingsActivity$AppSettingsFragment.class) 
     at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:520) 
     at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406) 
     at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388) 
     at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251) 
     at com.android.dx.command.dexer.Main.processClass(Main.java:665) 
     at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634) 
     at com.android.dx.command.dexer.Main.access$600(Main.java:78) 
     at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572) 
     at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170) 
     at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229) 
     at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158) 
     at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229) 
     at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158) 
     at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229) 
     at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158) 
     at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229) 
     at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158) 
     at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229) 
     at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158) 
     at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) 
     at com.android.dx.command.dexer.Main.processOne(Main.java:596) 
     at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498) 
     at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264) 
     at com.android.dx.command.dexer.Main.run(Main.java:230) 
     at com.android.dx.command.dexer.Main.main(Main.java:199) 
     at com.android.dx.command.Main.main(Main.java:103) 
    ...while parsing org/pervasivesystems/mobilehealth/Activities/AppSettingsActivity$AppSettingsFragment.class 

每次我不得不把大量的時間來轉換項目,與新版本兼容!

+0

你使用任何庫。這似乎是庫或模塊的一些包裝問題。 – pyus13

+0

檢查它是否與Curton庫較早發生並由作者糾正。 http://stackoverflow.com/questions/21055417/adding-library-in-android-studio-make-unexpected-top-level-exception – pyus13

+0

@ pyus13不,我沒有使用任何庫。那soloution是無效的在我的情況下: –

回答

62

我可以通過單擊工具欄項目Build --> Clean Project來解決此問題。這固定的事情很好。 enter image description here

+2

對我無效...... – Alex

0

在我的情況下,我有一個名爲CODES的枚舉和一個名爲Codes的內部類。顯然這會造成麻煩。由於CodesCODES的替代品,我很容易通過刪除所有剩下的對枚舉的引用並最終刪除僅在事件中調用我的類中的代碼的枚舉來解決此問題。

5

您的目錄名稱必須與完全匹配與清單中聲明的​​包的名稱。所以,如果您有:

COM/SomeDirectory /包,那麼你的包在清單必須是: 包=「com.SomeDirectory.package」

你的情況,那樣子你會被稱爲一個「活動「和其他」活動「。

+0

謝謝 - 這是我的案例(ApplicationName和applicationname)。 – kay27

1

我有同樣的問題。有趣的是,像這樣的小東西可以阻止你構建你的應用程序。在我身邊的問題是在AndroidManifest.xml文件:

<manifest 
    package="silviu.mypack" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

而不是「silviu.mypack」我有「silviu.mypackage」。我之前做了一次重構,並沒有改變。

祝大家好運!

相關問題