Как отлаживать приложение для Android, построенное с помощью maven

В настоящее время я пытаюсь отлаживать приложение Android на своем устройстве из eclipse.

Добавлено приложение. Я вижу его как в консоли, так и в eclipse. Консоль (Windows):

adb devices
List of devices attached
0019cca27f2e6e  device

И затмение:

enter image description here

Я могу запустить приложение без каких-либо проблем на обоих устройствах/симуляторах. Я просто делаю clean install и android:deploy, а затем android:run и работает как шарм. Но я еще не могу понять, как его отладить.

Но когда я фактически запускаю приложение на устройстве (Samsung galaxy SII), я могу видеть только эти два процесса, выполняющие com.viber.voip и com.viber.voip:keepAliveReceiver Я не вижу свое приложение, даже если я его запустил. Однако на эмуляторе/эмуляторе я вижу, как работает приложение.

Я прошел через этот материал:

отладка запуска приложения с помощью плагина android maven

Как запустить приложение в командной строке с помощью Maven

http://code.google.com/p/maven-android-plugin/wiki/Debug

Не удается сломать код. Даже при попытке maven-exec-plugin начать отладку, вызвав под ним script, вот этот плагин в pom:

<plugin>
            <artifactId>exec-maven-plugin</artifactId>
        <groupId>org.codehaus.mojo</groupId>
        <configuration>
            <executable>${basedir}/scripts/debug_app.cmd</executable>
        </configuration>
</plugin>

Содержимое debug_app.cmd:

adb shell am start -D android.intent.action.MAIN -n my.package.name/.HelloAndroidActivity

Когда я запускаю этот плагин, я получаю следующую ОШИБКУ:

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] pkg=android.intent.action.MAIN }
Error: Activity not started, unable to resolve Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=android.intent.action.MAIN }

Вот мой manifest.xml, если это необходимо:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.SET_DEBUG_APP" >
</uses-permission>

<!-- <uses-permission android:name="android.permission.INTERNET" /> -->

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name" >
    <activity android:name=".HelloAndroidActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".DisplayMessageActivity" >
    </activity>
</application>

Кто-нибудь может отладить устройство с помощью maven для создания приложения?

Обновление вопроса:

После добавления android:debuggable="true" мое приложение появилось на вкладке устройств, но я столкнулся с другой проблемой (когда я нажимаю значок зеленого отладки ниже).

См. ниже:

enter image description here

Я нашел это обходное решение (решение в дополнение к правильному ответу):

http://code.google.com/p/android/issues/detail?id=9932

И я принял ответ ниже. Может также пригодиться:

https://groups.google.com/forum/?fromgroups#!topic/android-developers/DftP5gYcwYI

Ответ 1

Как я это делаю,

  • Включить флаг отладки в файле AndroidManifest.xml.
  • Разверните приложение на устройстве. Теперь вы должны увидеть идентификатор процесса вашего приложения в менеджере отладки eclipse.
  • Теперь настройте конфигурацию запуска/отладки удаленного приложения java в меню запуска/конфигурации eclipse.
  • Введите все сведения о конфигурации. Номер порта будет третьим столбцом от вашего прикрепления изображения.
  • После запуска приложения на устройстве "запустите конфигурацию удаленных java-приложений" в eclipse.
  • Теперь ваше приложение должно ударить по точкам останова, если они есть.