Как запустить приложение Android на устройстве с муравьем

Я хотел бы иметь возможность запускать свое приложение после установки вместе с муравьем, как это происходит при нажатии кнопки run в eclipse.

Существует ли существующая задача муравьев после создания проекта в командной строке или есть ли команда, которую я мог бы выполнить с помощью ant?

Solutions Collecting From Web of "Как запустить приложение Android на устройстве с муравьем"

Выполнение adb shell am start -a android.intent.action.MAIN -n <Package_name>/.<Activity> от муравья должен запустить ваше приложение. Вы должны создать и установить приложение, пытающееся запустить приложение … вы можете Использовать android build xml для создания и использования «adb install» для установки приложения …

Используя команду, предоставленную Navin, я смог создать эту цель муравья:

 <target name="run"> <exec executable="adb"> <arg value="shell"/> <arg value="am"/> <arg value="start"/> <arg value="-a"/> <arg value="android.intent.action.MAIN"/> <arg value="-n"/> <arg value="{package.name}/{activity}"/> </exec> </target> 

В командной строке я выполняю:

 ant debug install run 

И все работает плавно.

РЕДАКТИРОВАТЬ

Как УорренФайт с осторожностью указал в комментариях {activity} должно быть имя класса основного вида деятельности с . префикс.

Таким образом, полный пример значения последнего аргумента

 org.package.name/.MyCustomActivity 

Как правило, скопируйте следующую цель в свой файл build.xml или custom_rules.xml. Обратите внимание, что в custom_rules.xml (если он еще не существует) вам нужно обернуть это в элемент.

 <target name="start"> <xpath input="AndroidManifest.xml" expression="/manifest/@package" output="manifest.package" /> <xpath input="AndroidManifest.xml" expression="/manifest/application/activity[intent-filter/action/@android:name='android.intent.action.MAIN']/@android:name" output="manifest.main" /> <echo level="info">Restart main activity ${manifest.package}/.${manifest.main}</echo> <exec executable="${android.platform.tools.dir}/adb"> <arg value="shell"/> <arg value="am"/> <arg value="start"/> <arg value="-S"/> <arg value="-a"/> <arg value="android.intent.action.MAIN"/> <arg value="-n"/> <arg value="${manifest.package}/.${manifest.main}"/> </exec> </target> 
 <target name="run"> <exec executable="adb"> <arg value="shell"/> <arg value="am"/> <arg value="start"/> <arg value="-a"/> <arg value="android.intent.action.MAIN"/> <arg value="-n"/> <arg value="{package.name}/{activity}"/> </exec> </target> 

Я просто хочу сказать, что {package.name} должен быть равен package <manifest> package а {activity} должен быть полным квалифицированным именем основного действия (то есть с его именем пакета, например com.example.activty.MainActivty ).