Fork me on GitHub

Older Releases Changelog - Version 4.0.0-rc.2 to 3.0.0-alpha-1

This is the old changelog for releases 4.0.0-rc.2 and earlier as migrated from the old project hosting site on Google Code. Various links or mentions of issues might be defunct, due to the fact that Google Code is offline.

Android Maven Plugin 4.0.0-rc.2 - 2014-10-25

The rc.1 is version close. We want to limit the changes to

Changes:

Android Maven Plugin 4.0.0-rc.1 - released 2014-09-18

Android Maven Plugin 3.9.0-rc.3 - released 2014-07-24

Android Maven Plugin 3.9.0-rc.2 - released 2014-05-27

ATTENTION:

  • Maven versions 3.0.4+ are now supported again

  • instrumentation tested apk’s have to use provided scope in the test project

  • further new parameters and their usage are documented on the site http://jayway.github.io/maven-android-plugin/

Android Maven Plugin 3.9.0-rc.1 - 2014-02-24

Android Maven Plugin 3.8.2 - 2013-12-30

Android Maven Plugin 3.8.1 - 2013-12-05

Android Maven Plugin 3.8.0 - 2013-11-08

ATTENTION: Maven 3.1.1+ is required to build the plugin itself as well as to use the plugin to build Android applications!

Android Maven Plugin 3.7.0 - 2013-09-27

ATTENTION:

  • The sdk platform configuration parameter no longer support platform, only API level works from now on.

  • the keyword 'all' is no longer supported for ndk architectures, you have to explicitly list them

Android Maven Plugin 3.6.1 - 2013-07-31

Android Maven Plugin 3.6.0 - 2013-05-22

All merges, CI server work, changelog editing and release process contributed by Manfred Moser

ATTENTION:

The configuration of the sdk platform is now required for SDK as well as NDK projects. An example plugin configuration is

<configuration>
  <sdk>
    <platform>17</platform>
   </sdk>
</configuration>

The plugin has been updated to work with the SDK release 22.0. 21.1 works on the CI server. It might or might not work for older versions. YMMV.

Android Maven Plugin 3.5.3 - 2013-04-09

Release process, pull request merges and more contributed by Manfred Moser

Minimal plugin configuration to enable monkey is

<monkey>
  <skip>false</skip>
</monkey>

Full configuration can use these parameters.

 <monkey>
   <skip>false</skip>
   <eventCount>5000</eventCount>
   <seed>123456</seed>
   <throttle>10</throttle>
   <percentTouch>10</percentTouch>
   <percentMotion>10</percentMotion>
   <percentTrackball>10</percentTrackball>
   <percentNav>10</percentNav>
   <percentMajorNav>10</percentMajorNav>
   <percentSyskeys>10</percentSyskeys>
   <percentAppswitch>10</percentAppswitch>
   <percentAnyevent>10</percentAnyevent>
   <packages>
       <package>com.foo</package>
       <package>com.bar</package>
   </packages>
   <categories>
       <category>foo</category>
       <category>bar</category>
   </categories>
   <debugNoEvents>true</debugNoEvents>
   <hprof>true</hprof>
   <ignoreCrashes>true</ignoreCrashes>
   <ignoreTimeouts>true</ignoreTimeouts>
   <ignoreSecurityExceptions>true</ignoreSecurityExceptions>
   <killProcessAfterError>true</killProcessAfterError>
   <monitorNativeCrashes>true</monitorNativeCrashes>
   <createReport>true</createReport>
 </monkey>

Android Maven Plugin 3.5.2 - 2013-04-01

Attention - due to a bug this release requires you to have the NDK installed even for normal builds. If that is a problem please wait for the next release. A fix exist in the current 3.5.3-SNAPSHOT version.

Release process, pull request merges and more contributed by Manfred Moser

Minimal plugin configuration to enable lint is

<uiautomator>
  <skip>false</skip>
</uiautomator>

Full configuration can use these parameters.

<uiautomator>
  <skip>false</skip>
  <testClassOrMethods>
    <testClassOrMethod>com.foo.SampleTest</testClassOrMethod>
    <testClassOrMethod>com.bar.CalculatorTest#testCalculatorApp</testClassOrMethod>
  </testClassOrMethods>
  <createReport>true</createReport>
  <takeScreenshotOnFailure>true</takeScreenshotOnFailure>
  <screenshotsPathOnDevice>/sdcard/uiautomator-screenshots/</screenshotsPathOnDevice>
</uiautomator>

Android Maven Plugin 3.5.1 - 2013-02-23

Release process, pull request merges and more contributed by Manfred Moser

Minimal plugin configuration to enable lint is

<lint>
  <skip>false</skip>
</lint>

which will produce xml report in target/lint/lint.xml Full configuration options available are

<lint>
    <failOnError>true|false</failOnError>
    <skip>true|false</skip>
    <ignoreWarnings>true|false</ignoreWarnings>
    <warnAll>true|false</warnAll>
    <warningsAsErrors>true|false</warningsAsErrors>
    <config></config>
    <fullPath>true|false</fullPath>
    <showAll>true|false</showAll>
    <disableSourceLines>true|false</disableSourceLines>
    <url>none|a=b</url>
    <enableHtml>true|false</enableHtml>
    <htmlOutputPath>${project.build.directory}/lint-html</htmlOutputPath>
    <enableSimpleHtml>true|false</enableSimpleHtml>
    <simpleHtmlOutputPath>${project.build.directory}/lint-simple-html</simpleHtmlOutputPath>
    <enableXml>true|false</enableXml>
    <xmlOutputPath>${project.build.directory}/lint.xml</xmlOutputPath>
    <enableSources>true|false</enableSources>
    <sources></sources>
    <enableClasspath>true|false</enableClasspath>
    <classpath></classpath>
    <enableLibraries>true|false</enableLibraries>
    <libraries></libraries>
</lint>

Android Maven Plugin 3.5.0 - released 2012-12-18

Code reviews, testing, minor adjustments by Manfred Moser http://www.simpligility.com

API/Configuration Changes:

  • ATTENTION*

Since non-release builds are now debuggable by default you NEED TO ensure that the release parameter is set to true in your release build.

In the pom this would be e.g.

<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<configuration>
    <release>true</release>

or you could activate on the command line with e.g

mvn clean deploy -Dandroid.release=true

or if you use the release plugin just add the above pom config to the release profile.

Android Maven Plugin 3.4.1

All merges, miscellaneous improvements and release performance contributed by Manfred Moser, http://www.simpligility.com

Android Maven Plugin 3.4.0

All merges, codestyle fixups and more miscellaneous improvements contributed by Manfred Moser, http://www.simpligility.com

API/Configuration Changes:

  • BuildConfig configuration relies on android.release maven configuration rather than system property

  • zipalign activation/deactivation now works properly so you need to activate it with '<zipalign><skip>false</skip></zipalign>' in configuration or with android.zipalign.skip=false

  • APK Merge support has to be configured like this

<plugins>
   <plugin>
     <artifactId>maven-resources-plugin</artifactId>
     <version>2.6</version>
     <executions>
       <execution>
         <phase>initialize</phase>
         <goals>
           <goal>resources</goal>
         </goals>
       </execution>
       <execution>
         <id>default-resources</id>
         <phase>DISABLED</phase>
       </execution>
     </executions>
   </plugin>
   <plugin>
     <groupId>com.jayway.maven.plugins.android.generation2</groupId>
     <artifactId>android-maven-plugin</artifactId>
     <configuration>
       <androidManifestFile>${project.build.directory}/AndroidManifest.xml</androidManifestFile>
       <mergeManifests>true</mergeManifests>
     </configuration>
     <extensions>true</extensions>
   </plugin>
 </plugins>

Android Maven Plugin 3.3.2

All merges into master and release process work contributed by Manfred Moser

Android Maven Plugin 3.3.1 (never released)

release process failed, version got bumped to 3.3.2 == Android Maven Plugin 3.3.0

Android Maven Plugin 3.2.0

API/Configuration Changes:

  • see AutomatedScreenshots for information about the on-demand screenshots during Android integration tests

  • new and old proguard config options also supported are android.proguard.xyz as properties

<proguard>
   <skip>true|false</skip>
   <config>proguard.cfg</config>
   <proguardJarPath>someAbsolutePathToProguardJar</proguardJarPath>
   <filterMavenDescriptor>true|false</filterMavenDescriptor>
   <filterManifest>true|false</filterManifest>
   <jvmArguments>
    <jvmArgument>-Xms256m</jvmArgument>
    <jvmArgument>-Xmx512m</jvmArgument>
  </jvmArguments>
</proguard>
  • use external proguard dependency (e.g. 4.7 as deployed to Central Repository)

<plugin>
  <groupId>com.jayway.maven.plugins.android.generation2</groupId>
  <artifactId>android-maven-plugin</artifactId>
    <dependencies>
      <dependency>
        <groupId>net.sf.proguard</groupId>
        <artifactId>proguard-base</artifactId>
        <version>4.7</version>
      </dependency>
    </dependencies>
  • manifest update goal with new parameters for screens

 <manifest>
            <versionName></versionName>
            <versionCode>123</versionCode>
            <versionCodeAutoIncrement>true|false</versionCodeAutoIncrement>
            <versionCodeUpdateFromVersion>true|false</versionCodeUpdateFromVersion>
            <sharedUserId>anId</sharedUserId>
            <debuggable>true|false</debuggable>

            <supports-screens>
              <anyDensity>true</anyDensity>
              <xlargeScreens>false</xlargeScreens>
            </supports-screens>

            <compatible-screens>
              <compatible-screen>
                <screenSize>small</screenSize>
                <screenDensity>ldpi</screenDensity>
              </compatible-screen>
            </compatible-screens>
          </manifest>

Android Maven Plugin 3.1.1

Android Maven Plugin 3.1.0

API/Configuration Changes:

  • as mentioned above, overriding of plugin configuration for various goals from properties or command line parameter should now work

  • new proguard config for alternate proguard jar and jvm arguments, also using absolute path to a proguard.cfg should now work

<proguard>
  <skip>false</skip>
  <config>proguard.cfg</config>
  <proguardJarPath>someAbsolutePathToProguardJar</proguardJarPath>
  <jvmArguments>
    <jvmArgument>-Xms256m</jvmArgument>
    <jvmArgument>-Xmx512m</jvmArgument>
  </jvmArguments>
</proguard>
  • NDK builds now require NDK r7

Android Maven Plugin 3.0.0

Sample project changes:

  • Scala example adapted to new proguard goal

  • contributed by Manfred Moser http://simpligility.com

  • Release profile on morseflash example adapted to new proguard goal

  • contributed by Manfred Moser http://simpligility.com

  • Native transitive dependency example fixed namespace so it works again

  • contributed by Johan Lindquist

API/Configuration Changes:

  • new goal android:proguard, by default disabled, enable with

    <proguard><skip>false</skip></proguard>
in the plugin configuration, by default uses a proguard.cfg file as used/created by the Android SDK

Android Maven Plugin 3.0.0-alpha-14

Sample project changes:

API/Configuration Changes: new parameter genDirectoryAidl to specify target folder for aidl classes generated new parameter to specify alternate ndk build file android.ndk.ndk-build-executable * new parameter to specify build directory for ndk build step *android.ndk.ndk-build-directory

Android Maven Plugin 3.0.0-alpha-13

Android Maven Plugin 3.0.0-alpha-12

Samples project changes:

  • update morseflash example setup to use the manifest-update goal for debuggable and versionCodeAutoIncrement

API/Configuration Changes

  • run configuration now nested in pom and using parameter android.run.debug for command line or run.debug for property

<run>
    <debug>true</debug>
</run>
  • dex configuration now nested and so on like run config

<dex>
  <jvmArguments>
    <jvmArgument>-Xms256m</jvmArgument>
    <jvmArgument>-Xmx512m</jvmArgument>
  </jvmArguments>
  <coreLibrary>true|false</coreLibrary>
  <noLocals>true|false</noLocals>
  <optimize>true|false</optimize>
</dex>
  • push configuration now nested and so on like run config

<push>
    <source>path</source>
    <destination>path</destination>
</push>
  • pull configuration now nested and so on like run config

<pull>
    <source>path</source>
    <destination>path</destination>
</pull>

Android Maven Plugin 3.0.0-alpha-11

  • refactored name of plugin to android-maven-plugin

    • THIS MEANS ALL USERS MUST UPDATE THEIR POMS

    • In your projects, change all '<artifactId>maven-android-plugin</artifactId>' to '<artifactId>android-maven-plugin</artifactId>'.

    • See also [PluginRenamed] for further information.

    • see Issue 198

    • contributed by Manfred Moser, http://simpligility.com

API/Configuration Changes: * renamed all plugin configuration from '<artifactId>maven-android-plugin</artifactId>' to '<artifactId>android-maven-plugin</artifactId>'

Maven Android Plugin 3.0.0-alpha-11

  • This is the last 3.x-series release under the name 'maven-android-plugin'. From now on, the plugin is known as 'android-maven-plugin'. See above.

  • Added forward-pointing relocation meta-data to artifactId 'android-maven-plugin'.

    • contributed by Hugo Josefson

Maven Android Plugin 3.0.0-alpha-10

(not released)

Maven Android Plugin 3.0.0-alpha-9

API/Configuration Changes:

  • Upgrade to Maven 3.0.3+

  • support for debug parameter for run goal as android.run.debug as property value in pom, settings or command line or in plugin configuration as

<configuration><run><debug>true|false</debug></run></configuration>
  • refactored 'enableIntegrationTest' parameter to 'android.test.skip' also see next…​

  • support for test configuration parameters to be supplied in pom like so

<configuration>
<test>
  <skip>true|false|auto</skip>
  <instrumentationPackage>packageName</instrumentationPackage>
  <instrumentationRunner>className</instrumentationRunner>
  <debug>true|false</debug>
  <coverage>true|false</coverage>
  <logOnly>true|false</logOnly>  avd
  <testSize>small|medium|large</testSize>
  <createReport>true|false</createReport>
  <classes>
    <class>your.package.name.YourTestClass</class>
  </classes>
  <packages>
    <package>your.package.name</package>
  </packages>
</test>
</configuration>
  • changed manifest update configuration to be contained in element in pom like so

<configuration>
  <manifest>
    <versionName></versionName>
    <versionCode>123</versionCode>
    <versionCodeAutoIncrement>true|false</versionCodeAutoIncrement>
    <versionCodeUpdateFromVersion>true|false</versionCodeUpdateFromVersion>
    <sharedUserId>anId</sharedUserId>
    <debuggable>true|false</debuggable>
  </manifest>
</configuration>

or have the manifest as part of the configuration property like e.g. android.manifest.debuggable or android.manifest.sharedUserId

Maven Android Plugin 3.0.0-alpha-8

(not released)

Maven Android Plugin 3.0.0-alpha-7

API/Configuration Changes:

  • support for emulator name (e.g. emulator-5554) in android.device parameter

  • new manifest update mojo replacing the version update mojo:

Updates various version attributes present in the !AndroidManifest.xml file. You can configure this mojo to update the following manifest attributes:

android:versionName on the manifest element. android:versionCode on the manifest element. android:sharedUserId on the manifest element. android:debuggable on the application element.

Note: This process will reformat the !AndroidManifest.xml per JAXP Transformer defaults if updates are made to the manifest.

Updating Your android:debuggable attribute

  <plugin>
    <groupId>com.jayway.maven.plugins.android.generation2</groupId>
    <artifactId>maven-android-plugin</artifactId>
    <executions>
      <execution>
        <id>update-manifest</id>
        <goals>
          <goal>manifest-update</goal>
        </goals>
        <configuration>
          <debuggable>true</debuggable>
        </configuration>
      </execution>
    </executions>
  </plugin>
  • new goal to stop all emulators, try mvn android:emulator-stop-all

Maven Android Plugin 3.0.0-alpha-6

API/Configuration Changes:

  • new optimize boolean parameter.

Maven Android Plugin 3.0.0-alpha-5

API/Configuration Changes: none

Maven Android Plugin 3.0.0-alpha-4

API/Configuration Changes:

  • new help goal: try 'mvn android:help'

Maven Android Plugin 3.0.0-alpha-3

API/Configuration Changes:

  • pull goal parameters are now android.pull.source and android.pull.destination

  • push goal parameters are now android.push.source and android.push.destination

  • deleteConflictingFiles parameter removed

  • Java 1.6 now required to build plugin and to run plugin as well

  • new standalone mojo android:run

  • new parameter android.test.createreport default to true, set to false and junit xml report will not be created

Maven Android Plugin 3.0.0-alpha-2

Maven Android Plugin 3.0.0-alpha-1

API/Configuration Changes:

  • new standalone goal "version-update" with parameters "versionname.update" and "versioncode.autoincrement"

  • new goal ndk-build

  • "ndk.path" parameter for Android NDK support, supports environment variable ANDROID_NDK_HOME

  • "ndk.build.native-classifier" parameter

  • "ndk.build.command-line" parameter

  • "ndk.build.clear-native-artifacts" parameter

  • "ndk.build.ndk-output-directory" parameter

  • "nativeLibrariesDirectory" parameter

  • "ndk.build.architecture" parameter, default armeabi

  • "classifier" parameter, when given cause the apk to get a classifier and be an attached build artifact

  • removed parameter "deleteDataAndCacheDirectoriesOnDevice" since it is no longer needed

  • new instrumentation test related parameters

  • "test.debug"

  • "test.coverage"

  • "test.logonly"

  • "test.testsize"

  • changed "instrumentationRunner" to "test.instrumentationRunner"

  • changed "instrumentationPackage" to "test.instrumentationPackage"

2.9.0-beta-5 and older release notes

Can be found in the migrated changelog from the old project site.