6

I wondering if there's a way to start an application which was deployed using mvn install android:deploy automatically. If this is somehow possible it would speedup development.

j0k
  • 22,600
  • 28
  • 79
  • 90
Flo
  • 27,355
  • 15
  • 87
  • 125
  • 1
    This post might be relevant, http://stackoverflow.com/questions/6981726/android-maven-automation/7044966, and note that as of version 3.0.0-alpha, you can use android:run. – Mathias Conradt Jun 29 '12 at 14:51

2 Answers2

15

Since maven-android-plugin version 3.0.0, you can use:

mvn install android:deploy android:run

and works perfectly.

Plugin's changelog here.

jelies
  • 9,110
  • 5
  • 50
  • 65
3

Here the post: http://www.hrupin.com/2011/06/21/how-to-run-android-application-then-you-use-maven-in-your-project

First you need to add plugin in your POM

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

add script in ${basedir}/scripts/ dir with next content:

adb shell am start -a android.intent.action.MAIN -n your.app.package/.YourMainActivity

Command to build and run app

mvn clean install android:deploy; mvn exec:exec

ihrupin
  • 6,932
  • 2
  • 31
  • 47
  • fyi - on http://www.sonatype.com/books/mvnref-book/reference/android-dev-sect-helloandroidexample.html the target android:run is mentioned, I'd assume it does the same as your script. However, it doesn't work for me with a real device connected. – Mathias Conradt Jun 29 '12 at 14:08
  • just curious: why do you call mvn twice instead of just appending exec:exec at the end of the first mvn call? does it make a difference? – Mathias Conradt Jun 29 '12 at 15:48