Android: невозможно создать приложение
Я переименовал свой пакет, и теперь я получаю эту странную ошибку:
Unable to instantiate application
app.MyApplication: java.lang.ClassNotFoundException:
app.MyApplication in loaderdalvik.system.PathClassLoader
Класс MyApplication
находится в Application/app
. В манифесте говорится:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="Application">
<application
android:label="AGG"
android:name="app.MyApplication"...
Я попробовал перезагрузить, очистить. Не работает на эмуляторе или на реальном устройстве.
Что происходит на Земле?
Ответы
Ответ 1
Предположим, что ваш базовый пакет проектов действительно Application
, как вы сказали в manifest
.
Если ваш класс MyApplication
находится внутри этого пакета (объявление пакета класса package Application;
), то элемент Application
в вашем androidManifest.xml
должен выглядеть как
<application android:name=".MyApplication" [...]
Если этот класс MyApplication
находится внутри пакета Application.app
(package Application.app;
), то в манифесте вы должны написать:
<application android:name=".app.MyApplication" [...]
Если вы не расширили android.app.Application
(у вас нет класса MyApplication extends android.app.Application
), просто хотите установить имя для своего приложения, удалите его из этого атрибута, так как он говорит компилятору, что есть расширение Application
, которое должно быть создано вместо стандартного android.app.Application
.
И, наконец, если первое предположение неверно, и вы по какой-либо причине изменили объявление пакета в элементе androidManifest manifest
, отмените его или обновите свои классы в этом пакете.
Ответ 2
Для меня проблема заключалась в мгновенном запуске. Отключение этого решения проблемы.
Будет обновлено, если я найду решение для повторного включения и создания его работы.
Ответ 3
этот ответ помог мне, в основном переименуйте свой lib в libs, если вы используете SDK 17+
fooobar.com/questions/285156/...
Ответ 4
В моем случае я изменил уровень соответствия JAVA-компилятора с 1.7 до 1.6, и проблема была решена.
Ответ 5
убедитесь, что все ссылки в манифесте обновлены, чтобы отразить ваше новое имя пакета.
Ответ 6
Должен package="Application"
быть package="MyApplication"
?
Ответ 7
Вам нужно исправить атрибут android:name
. Такая же проблема упомянута в ClassNotFoundException после изменения имени приложения на Android
Ответ 8
Просто очистите проект и перестройте.