ClassNotFoundException после обновления ADT

мы недавно обновили Android SDK & Eclipse ADT плагин до последней версии. Теперь, когда я пытаюсь запустить уже существующий проект Android, LogCat показывает.ClassNotFoundException

Я пытался создать новое устройство, но проблема все еще существует.

манифест










    
        
            

            
        
    

LogCat
05-17 13:09:56.357: E/AndroidRuntime(969): FATAL EXCEPTION: main
05-17 13:09:56.357: E/AndroidRuntime(969): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.myapp/com.example.myapp.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.myapp.MainActivity" on path: /data/app/com.example.myapp-1.apk
05-17 13:09:56.357: E/AndroidRuntime(969):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
05-17 13:09:56.357: E/AndroidRuntime(969):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
05-17 13:09:56.357: E/AndroidRuntime(969):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
05-17 13:09:56.357: E/AndroidRuntime(969):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
05-17 13:09:56.357: E/AndroidRuntime(969):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-17 13:09:56.357: E/AndroidRuntime(969):  at android.os.Looper.loop(Looper.java:137)
05-17 13:09:56.357: E/AndroidRuntime(969):  at android.app.ActivityThread.main(ActivityThread.java:5041)
05-17 13:09:56.357: E/AndroidRuntime(969):  at java.lang.reflect.Method.invokeNative(Native Method)
05-17 13:09:56.357: E/AndroidRuntime(969):  at java.lang.reflect.Method.invoke(Method.java:511)
05-17 13:09:56.357: E/AndroidRuntime(969):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-17 13:09:56.357: E/AndroidRuntime(969):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-17 13:09:56.357: E/AndroidRuntime(969):  at dalvik.system.NativeStart.main(Native Method)
05-17 13:09:56.357: E/AndroidRuntime(969): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.myapp.MainActivity" on path: /data/app/com.example.myapp-1.apk
05-17 13:09:56.357: E/AndroidRuntime(969):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
05-17 13:09:56.357: E/AndroidRuntime(969):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
05-17 13:09:56.357: E/AndroidRuntime(969):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
05-17 13:09:56.357: E/AndroidRuntime(969):  at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
05-17 13:09:56.357: E/AndroidRuntime(969):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
05-17 13:09:56.357: E/AndroidRuntime(969):  ... 11 more

Я заметил, что новый файл APK называетсяMyApp-1.apkв то время как это обычно называлосьmyapp.apk, Может кто-нибудь сказать мне, как исправить?

 Blackbelt17 мая 2013 г., 15:25
@Raghunandan Я. Есть ли проблема?
 user234061217 мая 2013 г., 15:25
нет, у меня есть только банки вlibs папка.
 Raghunandan17 мая 2013 г., 15:24
Вы имеете в виду какой-либо проект библиотеки в вашем проекте Android

Ответы на вопрос(4)

Я очень поздно, чтобы оставить ответ здесь. Обход, упомянутый Krauxe не сделалмне не поможет Мой проект состоит из двух библиотечных проектов и двух банок. Я нашел решение, опубликованное "laaptu» на страницеБиблиотеки больше не добавляются в APK после обновления до ADT 22.

Решение Вопроса

Проект -> Свойства -> Путь сборки Java -> Порядок & экспорт и обеспечитьЧастные библиотеки Android провереныдля вашего проекта и для всех других проектов библиотеки ты используешь. Очистите все проекты после этого и посмотрите, что произойдет.

 Trouble Zero17 июн. 2016 г., 19:46
Где этопроект вариант? Я'я использую Android Studio 2.1.1 и могуКажется, я следую этому ответу.
 Abhi07 июн. 2013 г., 22:08
Потраченные на это часы. Вы спасатель жизни.> _ <
 Fraggle05 июн. 2013 г., 18:08
Тот'здорово, что ведущие инженеры мира (Google) представляют обновления, которые ломают вещи. Извините могуЯ не чувствую себя странным. Был бы потерян без стека.
 Trouble Zero17 июн. 2016 г., 19:46
Где этопроект вариант? Я'я использую Android Studio 2.1.1 и могуКажется, я следую этому ответу.
 Neon Warge11 апр. 2015 г., 04:24
Didn»я не работаю После того, как я обновил ADT, у меня возникла эта ошибка, и, похоже, с моим проектом все в порядке. Частные библиотеки Android уже проверены на свойствах моего проекта.
 user234061217 мая 2013 г., 15:29
Спасибо, что сработало! @blackbelt it 's библиотека поддержки, которая была переименована!
 Blackbelt17 мая 2013 г., 15:28
какие'о частных библиотеках Android? Это было введено с последним ADT?
 Bobby Hargett19 нояб. 2013 г., 19:24
Я могу'Не думаю, что я страдал от этой проблемы, мне кажется, что исключение должно быть более конкретным.
 user63290510 июл. 2013 г., 10:32
Да, проблема введена в ADT 22. Google изменил контейнер для внешних библиотек в v22 ADT. Если приложения не обновлены, они будут испытывать ошибки, аналогичные вышеупомянутым. Также не забудьте проверить файлы jar внешней библиотеки, которые вы добавили в папку libs, на случай, если вы работаете с внешними библиотеками, такими как рекламная сеть или любые другие файлы jar.
 Warpzit14 июн. 2013 г., 11:34
 я второй разЯ был обижен этой вещью.
 Tom21 мая 2013 г., 22:33
Я второй @blackbelt 'вопрос И неужели нигде Google не сообщает нам о новых функциях и о критических изменениях в релизах ADT? ADT 22 нетЭто был полный кошмар, которым был ADT 20, но почему бы не рассказать нам о критических изменениях, по крайней мере?Страница плагина ADT это то место, где я ожидал найти его.

ответ, обновление Eclipse .project файла, как показано ниже, работает для меня:

<!--?xml version="1.0" encoding="UTF-8"?-->
<projectdescription>
    <name>RedbeaconPro</name>
    <comment></comment>
    <projects>
    </projects>
    <buildspec>
        <buildcommand>
            <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
            <arguments>
            </arguments>
        </buildcommand>
        <buildcommand>
            <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
            <arguments>
            </arguments>
        </buildcommand>
        <buildcommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildcommand>
        <buildcommand>
            <name>com.android.ide.eclipse.adt.ApkBuilder</name>
            <arguments>
            </arguments>
        </buildcommand>
    </buildspec>
    <natures>
        <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectdescription>

Maven -> Maven Update ... » может вызвать ту же проблему, что ClassNotFoundException. Как вы знаете, папка вывода классов по умолчанию должна быть / bin / classes, которая указана в файле .classpath и Eclipse Build Path. Но как только ты это сделаешьMaven->Maven Update ... »папка вывода будет установлена как "целевые / классы», Вы можете найти его (выход = "целевые / классы») в вашем файле .classpath.

Файл .classpath:

...    
<classpath>
            <classpathentry kind="src" path="gen">
            <classpathentry kind="src" output="target/classes" path="src/main/java">
...
</classpathentry></classpathentry></classpath>

Как решить эту проблему,пожалуйста, явно укажите папку вывода классов как "bin / классы» в файле pom.xml.

файл pom.xml:

...
<build>
            <sourcedirectory>src/main/java</sourcedirectory>
            <outputdirectory>bin/classes</outputdirectory>
...
</build>

Ваш ответ на вопрос