Подтвердить что ты не робот

Android studio gradle ошибка с исключением верхнего уровня

Недавно я обновил свою Android-студию, так как тогда мой проект не строится... Я получаю ошибки, такие как ошибка ниже:

        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)

У меня есть много таких ошибок... Наверное, это связано с прописными буквами? Я хотел узнать о возможном разрешении этой ошибки.

Это полный отчет об ошибке для одного из исключений:

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

Каждый раз, когда Android Studio обновляется, он путается с моими проектами, и мне приходится тратить много времени, чтобы конвертировать проекты в совместимость с новыми версиями!

4b9b3361

Ответ 1

Я смог исправить это, нажав на элемент ToolBar Build --> Clean Project. Это исправлено. enter image description here

Ответ 2

Имена ваших каталогов должны соответствовать точно с именами пакетов, объявленных в вашем манифесте. Поэтому, если у вас есть:

com/SomeDirectory/package, тогда ваш пакет в манифесте должен быть: пакет = "com.SomeDirectory.package"

В вашем случае похоже, что вы назвали одну "деятельность" и другие "действия".

Ответ 3

У меня была та же проблема. Интересно, как маленькая вещь, подобная этой, может заблокировать вас от создания вашего приложения. Проблема на моей стороне была в файле AndroidManifest.xml:

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

Вместо "silviu.mypack" у меня была "silviu.mypackage". Я сделал рефакторинг раньше, и это не изменилось.

Удачи всем!

Ответ 4

В моем случае у меня было перечисление с именем CODES и внутренний класс под названием CODES. Видимо, это вызывает проблемы. Поскольку CODES была заменой для CODES, я легко мог ее исправить, удалив все оставшиеся ссылки на перечисление и, наконец, удалив перечисление, имеющее только на предмет, называемый кодами в моем классе.