Android Studio не может запускать приложение на устройстве: застрял на "Ожидание процесса: <проект>"

При попытке отладки моего приложения на моем Samsung Galaxy S4 я получаю этот вывод:

Waiting for device.
Target device: samsung-samsung_sgh_i337-8c8aa2c7
Uploading file
    local path: C:\Users\awebberley\AndroidStudioProjects\Contacts\app\build\apk\app-debug-unaligned.apk
    remote path: /data/local/tmp/org.intracode.contacts
Installing org.intracode.contacts
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/org.intracode.contacts"
pkg:/data/local/tmp/org.intracode.contacts
Success


Waiting for process: org.intracode.contacts

Он просто остается в сообщении "ожидание процесса" без запуска приложения. Я новичок в разработке Android, есть ли что-то, что мне не хватает?

FYI, я смог запустить приложение в эмуляторе раньше, но после того, как я попробовал это и вернулся к эмулятору, появилось сообщение "Ожидание процесса".

Вот мой файл manifest.xml:

<?xml version="1.0" encoding="utf-8"?>

<application
    android:debuggable="true"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="org.intracode.contacts.MainActivity"
        android:launchMode="standard"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

И вот мой единственный java файл:

package org.intracode.contacts;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TabHost;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity {

    EditText nameTxt, phoneTxt, emailTxt, addressTxt;

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

        nameTxt = (EditText) findViewById(R.id.txtName);
        phoneTxt = (EditText) findViewById(R.id.txtPhone);
        emailTxt = (EditText) findViewById(R.id.txtEmail);
        addressTxt = (EditText) findViewById(R.id.txtAddress);
        TabHost tabHost = (TabHost) findViewById(R.id.tabHost);

        tabHost.setup();

        TabHost.TabSpec tabSpec = tabHost.newTabSpec("Creator");
        tabSpec.setContent(R.id.creator);
        tabSpec.setIndicator("Creator");
        tabHost.addTab(tabSpec);

        tabSpec = tabHost.newTabSpec("List");
        tabSpec.setContent(R.id.tabContactList);
        tabSpec.setIndicator("List");
        tabHost.addTab(tabSpec);

        final Button addBtn = (Button) findViewById(R.id.btnCreate);
        addBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getApplicationContext(), "Your Contact has been created!", Toast.LENGTH_SHORT).show();
            }
        });

        nameTxt.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
                addBtn.setEnabled(!nameTxt.getText().toString().trim().isEmpty());

            }

                @Override
                public void afterTextChanged(Editable editable) {

            }
        });
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

}

Спасибо

Ответ 1

UDPATE: Кажется, я нашел твою проблему. Посмотрев на манифест, одна аномалия, которую я обнаружил, что я больше нигде не нашел, - это строка о стартовом режиме Android.

    android:launchMode="standard"

Это, похоже, связано с проблемой и является первой вопиющей проблемой, которую я вижу с этим. Удалите его, если он работает, почувствуйте себя счастливым, примите ответ:). Убедитесь, что вы перестроили проект, чтобы убедиться, что изменения включены.

OLD: Я думаю, что это проблема с тем, что активность не была правильно зарегистрирована в манифесте Android. Я бы удостоверился, что это процесс запуска.

Чтобы получить дополнительную информацию, я бы экспортировал ее в APK, а затем запускал ее непосредственно на устройстве, минуя отладчик. Если вы сделаете этот тест, убедитесь, что вы отключили отладку. Конечно, сделайте это, если другое решение не работает, и вы просто хотите собрать больше информации о проблеме.

Ответ 2

"Файл" → "Invalidate Caches/Restart" работал у меня как шарм.

Ответ 3

У меня была такая же ошибка после обновления до новой версии SDK. После обновления моего build.gradle с 'com.android.tools.build: gradle:1.0.0-rc2' до 'com.android.tools.build:gradle:1.0.0' и недействительности кэшей/перезапуска, он снова работает.

Ответ 4

В Android Studio, Run- > Edit Configuration выберите "Запустить действие по умолчанию".

В противном случае он даже не начинает запускать приложение.

Ответ 5

В случае, если вы импортируете проект из какой-либо папки и шоу студии Android - "Ожидание процесса", то это действительно сработало для меня. Я скопировал проект в C:\Users [ваша учетная запись]\AndroidStudioProjects (этот путь может отличаться для разных пользователей), а затем импортировал проект оттуда.

Прежде чем делать это, я пробовал все, как сервер kill-start, подключение-отсоединение, переустановка Android-устройств, режим привязки USB на устройстве Android и т.д. и т.д., но ни один из них не работал у меня.