"Програма" сеансу: Помилка запуску активності


97

Після оновлення Android Studio 2.0 під час завершення збірки gradle я отримую таке:

"Програма" сеансу: Помилка запуску активності.

Це перешкоджає запуску програми, але вона встановлена ​​в моєму емуляторі. Ось що з’являється на вкладці Виконати:

Несподівана помилка під час виконання: am start -n "com.example.user.ypologismosmoriwn / com.example.user.ypologismosmoriwn.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER Помилка під час запуску активності

Ось код:

package com.example.user.ypologismosmoriwn;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

Це просто порожня активність, нічого не додано

а код XML - це лише відносний макет із 4 текстами та 3 прапорцями

Це logcat, який я отримую

Дякую кожному, хто готовий допомогти


1
Ви редагували файл маніфесту? будь ласка, перевірте це.
Mounir Elfassi

Ще один журнал
Джон Р.

Як виглядає ваш маніфест?
ninjahoahong

Це маніфест за замовчуванням, подивіться Маніфест
Джон Р.

Відповіді:


128

Я також зіткнувся з цією проблемою після оновлення до AS2.0. Я виявив, що це через instant runвключений. Тож моє рішення - відключити "миттєвий запуск". і це спрацювало. Щоб вимкнути "миттєвий запуск", перейдіть до Preference Dialog(може бути діалогове вікно налаштування у Windows), потім виберіть Build, Execution, Deployment> Instant Runта зніміть прапорець, щоб вимкнути Instant Run.

Це моє тимчасове рішення, і воно може вам допомогти. Пізніше я знайду кращий шлях до цього питання.


оновлення до 06.06.2016

Краще рішення замість відключення instant run. Видаліть .ideaпапку та .gradleпапку, потім натисніть кнопку Sync Project with Gradle Files(або через меню File-> Sync Project with Gradle Files), після завершення цього процесу ви зможете запустити програму як зазвичай.

Удачі ~


1
Вимкнення миттєвого запуску зупинило сеанс "додаток": помилка під час запуску дії помилка. Однак, програма не запускається автоматично в емуляторі.
Джон Р.

2
Чи потрібно нам видаляти .ideaта gradleпапки перед кожним запуском ?!
VSB

1
Ні, тільки в перший раз
Нік

1
Я просто зробив синхронізацію gradle для її вирішення. Зводив мене з розуму, поки я не знайшов цю тему. У моєму випадку я раніше перейменовував applicationId, щоб викликати цю проблему.
стиглий

3
Якщо ви зіткнулися з цією проблемою після встановлення програми з пристрою, програма все одно може вийти, спробуйте перевірити налаштування -> Програми -> Видалити програму. Потім спробуйте запустити програму. У мене це спрацювало.
amj

51

Якщо ви використовуєте Android 7.0 і новіших версій, швидше за все, додаток було встановлено у двох місцях (Гість та Адміністратор), і Ви видалили його лише для одного користувача, і це викликає проблеми.

Щоб вирішити цю проблему, перейдіть до: Налаштування -> Програми та сповіщення -> Переглянути всі програми -> знайдіть програму, яку ви намагаєтесь встановити.

введіть тут опис зображення введіть тут опис зображення

Потім натисніть меню у верхньому правому куті та виберіть Видалити для всіх користувачів

введіть тут опис зображення

Запустіть програму з Android Studio, вона повинна працювати.


Ця проблема може існувати і на пристроях Android 7.0. Це рішення працює!
Maverick7,

Нещодавно ця проблема виникла у мене кілька разів. І ваш підхід такий самий, як і підхід, який я використав із media.com/@kaikoenig/… . Слава богу, я знайшов такий підхід!
Цзяхен,

34

Спробуйте переінсталювати програму, це вирішило помилку для мене. Фокус у тому, що я видалив свій додаток, але Android не видалив його по-справжньому. На моєму телефоні є запрошений користувач (іноді його використовує моя сестра). Якщо ви видалите програму від основного користувача, вона все одно буде доступна на телефоні, але лише для запрошеного користувача. Схоже, Android Studio не може впоратися з цією справою. Я думаю, він виявляє, що додаток встановлено, тому його не буде перевстановлено для поточного користувача, отже ОС не може отримати доступ та запустити діяльність. Приємна помилка, я повідомлю про це.


1
Це мені допомогло - дуже цікава поведінка Android
d4c0d312

Це теж була моя справа, дякую, що знайшли це!
Джуліан Хонма

Це була і моя справа, коли нічого іншого не працювало. Особливо цікаво було, що я міг створити програму в Android Studio, але не міг запустити її на пристрої. Швидкий adb uninstallзробив трюк!
Чад Шульц,

21

У мене була така сама проблема, проект відновлення проекту видаляє помилку для мене.

побудувати -> відновити проект -> запустити


1
безумовно, найпростіше рішення!
нова зірка

І єдино правильний. Вимкнути "Миттєвий запуск" абсолютно неправильно, оскільки насправді це працює нормально в 99% випадків.
божевільний

9

Це питання зі студією 2.0+

Випуск 206036: Без локальних змін, не розгортання файлу .apk

Я знайшов хороший обійти тут просто додайте прапор -r тут редагування конфігурацій , а також відключення миттєвого

введіть тут опис зображення

Чекаємо, щоб отримати функцію миттєвого запуску, незабаром працюватиме плавно, без помилок типу 3 більше !!


1
@RanjithKumar, вам потрібно додати цю настройку для кожного проекту, і те, що я роблю, хоча відображає помилку, але встановлюється новий apk, а потім ви можете налагодити або відтворити те саме потім. Також зніміть прапорець Пропускати установку на вкладці Різне
Рахул

7

Для мене проблема полягала в тому, що програма, яку я намагався запустити, вже була встановлена ​​під іншим обліковим записом користувача на моєму телефоні. Я переконався в цьому, коли зайшов у Налаштування-> програми, які хочуть його видалити. Я перейшов на іншого користувача, видалив його, повернувся до початкового користувача і мав змогу встановити та запустити програму з Android Studio без жодних проблем.


4

Я витратив багато годин на це саме те питання. Виправлення "миттєвого запуску" виявилося повним провалом. І я не пропустив, що android.intent.category.LAUNCHER видалив усі застосовні коди Android Studio та SDK і перевстановив. Все ще не можна.

Зрештою, я думаю, що моєю проблемою було маргінальне обладнання. Я працюю на ноутбуці з процесором AMD A6-4400M. Немає доступних апаратних засобів прискорення / віртуалізації. Я просто запускав стандартний емулятор Android Studio / Google. Це було болісно повільно, і хоча я врешті-решт зміг побачити емулятор та взаємодіяти з ним, я ніколи не зміг підключити емулятор до Android Studio для завантаження файлів .apk.

Але я виявив приголомшливе виправлення.

  • Видаліть усі віртуальні пристрої Android і встановіть емулятор GenyMotion (з VirtualBox).
  • Я вже пробував емулятори GenyMotion раніше (з Linux), і це не мало великої різниці у швидкості завантаження.
  • На цій машині з Windows 10 він працює надзвичайно добре. Це досить швидко, легко підключається до Android Studio і добре працює при розгортанні моїх програм.
  • GenyMotion пропонує один пристрій особистого користування безкоштовно. Повага команді GenyMotion!

Надана тут відповідь на випадок, якщо хтось інший застрягне в цій помилці, можливо, в основі цієї причини.


3

Я отримав ту саму проблему і вирішив її за допомогою цієї відповіді .

Але цю проблему створив я сам, коли я намагався налагодити свої модульні тести. Тому мені довелося зняти прапорець біля Use in-process buildпункту Параметри AS в Build, Execution, Deployment> Compiler.

Тож у моєму випадку це працює, якщо я відключив instant run. Але це також працює, як я включив, instant run а також Use in-process buildопцію.


3

Просто запустіть adb uninstall <package name>у своєму терміналі та переінсталюйте програму знову.

Сподіваюся, це допомагає.


А щоб отримати назву пакета, використовуйтеadb shell pm list packages
h8pathak

2

Те саме питання, але для мене проблема полягала в тому, що Android Studio не змогла знайти мою активність за замовчуванням. Коли я вказав фільтр намірів для виявлення наміру ОСНОВНОЇ дії, я не вказав категорію ЗАПУСК, і це спричинило проблему "Помилка запуску".

    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />  <-- forgot
    </intent-filter>

1
Проблема була в тому, що хоча я нічого не змінив, це був новий проект за замовчуванням, можливо, це було спричинено після оновлення 2.0 Android Studio.
Джон Р.

2

Просто Run --> clean and rerun, в моєму випадку це допомагає. Підказує автоматично, як наступне повідомлення

Ви видалите вже встановлену діяльність з тим самим іменем

якщо активність уже встановлена, спочатку видаліть її та зробіть проект готовим після встановлення програми.


2

У мене була ця помилка через мою дурість. У manifest.xml я помилково оголосив дві дії як Launcher. Переконайтеся, що у вас є лише одна активність як Launcher.

    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

   <activity android:name=".WelcomeActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

1

Я зіткнувся з тією ж проблемою в android studio 2.1.2, але працював після вибору команди Build -> Clean Project або, альтернативно, Run -> Clean and Rerun


1

Я спробував усі запропоновані відповіді. Я з’ясував, що це проблема апаратного забезпечення на телефоні Android N із версією studio 2.3. Додаток чудово запускається на телефонах нижче 7.


1

Я вирішив проблему за допомогою цього рішення. Якщо ви запускаєте програму на пристрої USB, закрийте всі віртуальні пристрої, такі як: genymotion / віртуальна машина.


1

Просто вимкніть Миттєвий запуск.

Go To File >> Settings >> Build, Execute, Deployment >> Instant Run

Зніміть прапорець із написомEnable instant run to hot swap code/resource changes on deploy

Повторно запустіть емулятор.


1

Гаразд, вже так багато можливих рішень цієї проблеми, якщо жодне з цих результатів не працює, спробуйте це.

Я зіткнувся з цією проблемою, коли вперше видалив програму, а потім спробував перевстановити її з ADB. Але потім, спробувавши ці багато рішень, я зрозумів, що видалення програми сьогодні насправді не видаляє її. Він просто відключає його на кілька днів, щоб його можна було ввімкнути на випадок, якщо ви передумаєте.

Зараз я не впевнений, чи зроблено це LG або Native Android Nougat.

Я просто зайшов у Налаштування-> програми-> моя-програма та повністю її видалив. Після цього зі студії Android я можу знову правильно встановити програму без цієї помилки.


Так, я ненавиджу цю функцію. Якщо я видалив його, то я цього не хочу. Мені знадобився час, щоб зрозуміти, що не так.
Панама Джек,

1

Adb також видає цю помилку, якщо applicationIdпакет запуску або назва модуля містить errorпідрядок


О, Боже мій, я б хотів, щоб я міг тебе поцілувати. 2 РОКИ Я РОБУВСЯ З ЦИМ УВІМКНЕНОЮ І ВИМКНЕНОЮ.
Bassinator

Google, чому? Я вимагаю знати, хто відповідає за це недбале програмування дупи.
Bassinator

1

Жодна з існуючих відповідей мені не допомогла, оскільки в іншому профілі я встановив такий самий додаток. Рішення -

  1. Перейдіть до іншого профілю
  2. Видаліть програму з 2-го профілю
  3. Повернутися назад

0

Я спробував вищезазначену відповідь . Однак жодне з розчинів не працювало для мене. Я змінив емулятор на USB, і код працює на цільовому USB-пристрої.


У мене також не було проблем з емулятором, лише на моєму годиннику Android "Moto 360". Я виправив це, видаливши додаток з пристрою до і після цього, він успішно встановив його з AS!
Кирил Івану

0

Усі відповіді у мене не спрацювали. Ця помилка виникла, коли я намагався перейменувати пакет програм. Я в кінцевому підсумку створив новий проект з новою назвою пакета та перемістив свої файли до нового.


Як це було сумно .. :(
simo

0

Я вирішив проблему (на моєму годиннику Android 360 Moto 360), видаливши програму перед установкою з AS


0

це сталося, коли я змінив applicationId у файлі app gradle. Це працює для мене після синхронізації gradle.


0

Видаліть додаток на реальному пристрої або емуляторі. Потім знову біжи. Це спрацювало для мене. Я використовував Android Studio 2.3.3


0

Я спробував, clean & rebuild projectі Invalidate Cache & Restartтакож вилучені вручну .gradleі .ideaпапки, але це не вирішило проблему.

У мене на телефоні 3 облікові записи користувачів . Отже, я не вибрав Видалити для всіх користувачів , і він видалив лише мою програму з першого облікового запису користувача, але він все ще був там в гостьовому та другому обліковому записі користувача .

Отже, я видалив його з решти облікових записів, і це вирішило мою проблему !!


0

У мене була така сама проблема. Я використовував AVD із зображенням процесора руки і отримав те саме повідомлення. Єдиний спосіб зробити так, щоб Android Studio 2.1.2 запускав програму з миттєвим запуском - це змінити образ процесора X86. Помилка зникла, і (до цього моменту) я думаю, що емулятор працює швидше, ніж емуляція ARM. Конфігурацією моєї робочої станції є оперативна пам’ять Intel I5, 6 Гб. Можливо, це допоможе до наступного виправлення.


0

Вимкніть "миттєвий запуск", ви можете перейти до діалогового вікна налаштувань (може бути діалоговим вікном налаштування у Windows), а потім вибрати Створення, виконання, розгортання> Миттєвий запуск і зніміть прапорець, щоб вимкнути Миттєвий запуск.

І перезавантажте свій пристрій, це повинно змусити справу працювати ... миттєвий запуск має помилку в Android studio 2+ Це повинно зробити магію


0

Я отримав ту ж помилку. Ця проблема виникла через видалення програми з пристрою (видалено лише з 1 користувача)

Вирішено шляхом входу в систему іншого користувача та видалення програми звідти.

і це вирішено.


0

Я зробив усі пропозиції вище, але вони не спрацювали! Я відновив проект, видалив програму з мого реального пристрою, від’єднав USB, потім запустив Android Studio і запустив програму на своєму реальному пристрої, і проблема зникла.

Сподіваюся, це допомагає!


0

У мене була така ж помилка, як у заголовку. після того, як я змінив назву версії та код версії в gradle, відбулася синхронізація, і вона спрацювала. так що, можливо, навіть лише синхронізація може іноді допомогти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.