Автоматически запускать приложение Android после загрузки на телефон? - PullRequest
5 голосов
/ 12 февраля 2010

Во время разработки приложений для Android я очень часто делаю следующее:

  1. Запустите "ant reinstall", чтобы скомпилировать и загрузить приложение в эмулятор.
  2. Переключиться в окно эмулятора.
  3. Нажмите на пакет, который я только что загрузил, чтобы запустить и протестировать его.

Можно ли как-то сказать эмулятору телефона запустить только что загруженный пакет? Возможно, команду «adb», которую я могу послать ей после того, как запустил свой скрипт компиляции? В крайнем случае, я думаю, я мог бы запустить что-то, что имитирует щелчок мыши для меня.

1 Ответ

3 голосов
/ 12 февраля 2010

Вы хотите использовать команду am. Скажем, у вас есть манифест, который выглядит примерно так:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.MyApp">
    <application android:icon="@drawable/icon">
        <activity class=".MyMainActivity" android:label="@string/app_name">
            <intent-filter>
                <action android:value="android.intent.action.MAIN" />
                <category android:value="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    ...
</manifest>

вы бы начали это с:

adb shell am start -a android.intent.action.MAIN -n com.example.MyApp/.MyMainActivity

хотя вы можете попросить его подождать, пока он не будет готов:

adb wait-for-device shell am start -a android.intent.action.MAIN -n com.example.MyApp/.MyMainActivity

Обычно вы просто запускаете Intent, который вызывает основной пакет вашего пакета Activity.

Полная документация (от запуска am --help):

usage: am [start|broadcast|instrument|profile]
       am start [-D] INTENT
       am broadcast INTENT
       am instrument [-r] [-e <ARG_NAME> <ARG_VALUE>] [-p <PROF_FILE>]
                [-w] <COMPONENT> 
       am profile <PROCESS> [start <PROF_FILE>|stop]

       INTENT is described with:
                [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
                [-c <CATEGORY> [-c <CATEGORY>] ...]
                [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
                [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
                [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
                [-n <COMPONENT>] [-f <FLAGS>] [<URI>]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...