Ответ 1
Я отвечу, на всякий случай кто-то застрянет с этим. Как ни странно, перезагрузка Android Studio решила проблему. Ничего сложнее, не менее очевидно.
Я изменил имя своего пакета с com.mycompany.myapplication на com.mycompany.testapp.
Все строит отлично, но когда я пытаюсь запустить его на эмуляторе, я получаю:
Сессия была перезапущена Целевое устройство: NexusS [эмулятор-5554] Загрузка файла локальный путь:/home/antony/AndroidStudioProjects/testappProject/testapp/build/apk/testapp-debug-unaligned.apk удаленный путь:/data/local/tmp/com.mycompany.myapplication Установка com.mycompany.myapplication КОММУНАЛЬНАЯ КОМАНДА УСТРОЙСТВА: pm install -r "/data/local/tmp/com.mycompany.myapplication" pkg:/data/local/tmp/com.mycompany.myapplication Успех
Запуск приложения: com.mycompany.myapplication/com.mycompany.testapp.MainActivity. КОМАНД УСТРОЙСТВА ОБОЛОЧКИ: am start -D -n "com.mycompany.myapplication/com.mycompany.testapp.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Начало: Intent {act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] cmp = com.mycompany.myapplication/com.mycompany.testapp.MainActivity} Тип ошибки 3 Ошибка: класс действия {com.mycompany.myapplication/com.mycompany.testapp.MainActivity} не существует.
Обратите внимание, что удаленный путь ^^^ неверен.
Если я перейду к эмулятору, я могу запустить приложение из меню, просто я получаю эту ошибку, когда пытаюсь запустить приложение из Android Studio.
Я также вижу в logcat, в правом верхнем углу раскрывающийся список предлагает мне "No Filters" или "app: com.mycompany.myapplication". Поэтому я не могу даже отлаживать правильно.
Откуда берутся эти ссылки на com.mycompany.myapplication, и как я могу это исправить?
Я отвечу, на всякий случай кто-то застрянет с этим. Как ни странно, перезагрузка Android Studio решила проблему. Ничего сложнее, не менее очевидно.
Я попытался перезапустить Android Studio, но проблема все еще существовала.
Тогда решение работает со мной.
~/.gradle/caches/
. Это нормально, если Android Studio открывается.
(Обратитесь pm, установив неправильное имя пакета)Вот как я это решил. Очень просто.
Нажмите кнопку "Синхронизировать проект с файлами Gradle" в верхней части окна.
Посмотрите на эту кнопку, если вы используете более новую версию Android Studio:
Я сделал все упомянутые вещи, но никакого эффекта. Затем я нашел что-то в файле build.gradle и изменил его в соответствии с моим новым пакетом. Это сработало для меня.
defaultConfig {
applicationId "com.*****.newPackageId"
minSdkVersion 11
targetSdkVersion 20
}
Очистка кеша и перезагрузка работали для меня.
Перейдите в меню Android Studio и выберите параметр Invalidate Caches/Restart...
В новой версии AndroidStudio, такой как 0.9.1, это решение работает со мной:
1) удалить ~/.greadle/2.1/taskArtifacts
2) чистый проект
3) запустить проект
Что я наконец сделал, это изменение "идентификатора приложения" в build.gradle, сборке и запуске. Затем удалите приложения с телефона и верните идентификатор приложения обратно
Моя проблема заключалась в том, что некоторые из моих XML файлов (в частности, AndroidManifest.xml) изменили свои заголовки.
Проблемный заголовок:
<?xml code="1.0" encoding="utf-8"?>
Измените это на:
<?xml version="1.0" encoding="utf-8"?>
Обратите внимание, как проблемный заголовок показывает code="1.0"
вместо version="1.0"
.
Если ваше приложение получает то же имя, что и ваше MainActivity, и вы пробовали его, попробуйте удалить
Android: метка = "MyMainActivity"
из Mainactivity, затем запустите приложение. Это сработало для меня:)
Пробовал удалить папку taskArtifacts, недействительность,... ничего не работало.
Что в конечном итоге работает для меня как принудительное решение Gradle для меня. (Просто добавила пустую новую строку в build.gradle, чтобы она попросила меня синхронизировать и после синхронизации она работала).
У меня была такая же проблема.
Если вы не знаете, что делать с этими файлами, просмотрите более полные ответы выше.