Xamarin - Android - Visual Studio - приложение не может быть запущено
Я работал над проектом Android с использованием Xamarin в Visual Studio 2012. Недавно я обновил его с жесткого диска на SSD, чтобы переустановить Windows и все мои программы.
После клонирования моего репозитория git и попытки запустить приложение на моем устройстве, я не смог его запустить. Я смог запустить новый проект hello world, и я получил его для запуска, но я не могу запустить этот проект.
Вот что говорит ошибка:
Приложение не может быть запущено. Убедитесь, что приложение установлено на целевое устройство и имеет запускаемую активность (MainLauncher = true).
Кроме того, проверьте Build- > Configuration Manager, чтобы убедиться, что для этого проекта установлено значение Развертывание для этой конфигурации.
Я искал решение этой проблемы, но не смог найти что-то, что сработало.
Ответы
Ответ 1
Я решил проблему. Как-то приложение все еще существовало на моем устройстве, хотя оно не отображалось в моих приложениях, и мне нужно было его удалить.
Решение заключалось в том, чтобы найти старый APK, который был отправлен по электронной почте, и я установил его. Затем я удалил приложение и снова развернул его из Visual Studio. На этот раз это сработало.
Вы можете прочитать больше здесь: https://forums.xamarin.com/discussion/8501/install-failed-update-incompatible
EDIT (13 марта 2017 года):
Кажется, многие считают, что этот ответ полезен, поэтому я решил обновить его альтернативным методом для удаления приложения, если у вас нет доступа к старой версии.
Как упоминал Атул Чодхари и Нестель, вы можете открыть свою командную строку adb и запустить adb uninstall <com.your.application.package.name>
. Если есть остатки вашей заявки, которые остаются, это должно избавиться от них.
Ответ 2
Запуск этой команды из оболочки adb решил для меня:
adb shell pm uninstall -k com.packagename
Чтобы получить доступ к оболочке adb из инструментов Visual Studio → Android → Командная строка для Android Adb.
Очень интересная ошибка, похоже, что Visual Studio не может полностью удалить предыдущую версию.
Ответ 3
![введите описание изображения здесь]()
App. начал работать над эмулятором, снова переименовал приложение, приложение. продолжал работать.
Примечание. Сброс устройства, снятие с него приложения. и связанное с ним время выполнения и т.д. из настроек не работало для меня.
Надеюсь, это поможет кому-то.
Ответ 4
Очевидно, ОП определил проблему для своей проблемы, но я все же хотел опубликовать ответ, связанный с проблемой, с которой я столкнулся с тем же сообщением об ошибке. Я использую Visual Studio (в Parallels) и пытаюсь отладить приложение на экземпляре Xamarin Android Player (который работает на моем Mac).
Я продолжал получать эту ошибку и понял, что в сборке появилось другое, более полезное сообщение об ошибке, в котором говорилось, что я не поддерживаю правильную архитектуру.
Перейдя в Свойства проекта Android → Настройки Android → Дополнительно → и проверив x86
, наконец, позвольте мне успешно развернуться в Android-плеере Xamarin.
Ответ 5
У меня была такая же ошибка сегодня, пытаясь запустить Android-приложение Xamarin на Android-плеере Xamarin. Чтобы исправить это, мне нужно было проверить поле "x86" в разделе "Поддерживаемые архитектуры". Поэтому вы можете проверить этот раздел.
Ответ 6
Я испытал эту проблему, когда на устройстве не было достаточной памяти. После "успешного" развертывания приложение отсутствовало даже из списка приложений в "Настройки". Удаление через adb дало мне Failure, указав, что он не установлен. В журнале вывода в VS2015 у меня было то же сообщение, что и OP. Наконец, он работал после того, как я очистил около 50-100 МБ, хотя в App Settings он показал мне, что на 500 МБ бесплатно. Я пробовал разные решения (удалял adb, чистил, строил, а затем развертывал), но только очистка работала.
Ответ 7
adb uninstall сделал трюк. Странно, что даже если вы запустите команду, чтобы отобразить все установленное приложение, оно не будет отображаться, но если вы запустите команду удаления с именем пакета ur, которое должно быть названо именем или именем проекта ur, которое вы назначили, вы получите результат успеха, что означает, что он был удален, и проверить, что если снова запустите команду удаления с тем же именем пакета u, вы получите команду отказа. Затем развертывание пакета ur снова должно работать
Ответ 8
АБР подход не работает для меня.
Я не хотел factory reset мой телефон и не удалять свои приложения, поэтому мне удалось развернуть его, изменив пакет.
- Щелкните правой кнопкой мыши на проекте Droid.
- Выберите "Свойства"
- Пришло к манифесту приложений
- Измените имя пакета
- Повторно разверните проект
![введите описание изображения здесь]()
Надеюсь, что это поможет
Ответ 9
Если вы переустановили все, что вам может потребоваться, чтобы настроить диспетчер конфигурации в VS.
В Visual Studio: Build → Configuration Manager → Поставьте флажок в поле "Развернуть".
Ответ 10
Мне удалось решить проблему, вычисти пользовательские данные из эмулятора.
Из AVD Manager, когда вы запускаете эмулятор, установите флажок "Протирать пользовательские данные", и ваше эмулированное устройство будет вести себя как новое.
Сама проблема появилась после обновления до Android SDK Tools 25.1.3.
Ответ 11
Я не мог получить эту работу, изначально. Попробовал удалить все (Mono runtime, приложение и т.д.), Но безрезультатно.
Что работала переименовать мой пакет, что было хорошо в моем случае, так как я еще не выпустил свой apk. Некоторая версия призрака, очевидно, все еще хранится на моем устройстве.
Ответ 12
Переименование имени приложения и имени пакета (перейдите в Настройки манифеста), где помогло решить эту проблему.
Ответ 13
Единственные альтернативы, которые помогают мне решить эту проблему, следующие:
- На домашней странице Xamarin Android Studio (где отображаются все устройства) нажмите кнопку "три точки", а затем Factory Reset.
ИЛИ
- Установите новое устройство и разместите там свое приложение.
Ответ 14
В моем случае проблема заключалась в том, что два действия были Launcher, поэтому я сделал одну из них Launcher.
Вы можете удалить <intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
из файла AndroidManifest.xml или
MainLauncher = true
из .cs атрибут файла активности