src/main/java/com/simpligility/maven/plugins/android/phase01generatesources/GenerateSourcesMojo.java
private void extractApkClassesJar( Artifact artifact ) throws MojoExecutionException
    {
        final File apkClassesJar = getUnpackedLibHelper().getJarFileForApk( artifact );
        final File unpackedClassesJar = getUnpackedLibHelper().getUnpackedClassesJar( artifact );
        try
        {
            FileUtils.copyFile( apkClassesJar, unpackedClassesJar );
        }
        catch ( IOException e )
        {
            throw new MojoExecutionException(
                    "Could not copy APK classes jar " + apkClassesJar + " to " + unpackedClassesJar, e );
        }
        getLog().debug( "Copied APK classes jar into compile classpath : " + unpackedClassesJar );

    }
private void extractApkClassesJar( Artifact artifact ) throws MojoExecutionException
    {
        final File apkClassesJar = getUnpackedLibHelper().getJarFileForApk( artifact );
        final File unpackedClassesJar = getUnpackedLibHelper().getUnpackedClassesJar( artifact );
        try
        {
            FileUtils.copyFile( apkClassesJar, unpackedClassesJar );
        }
        catch ( IOException e )
        {
            throw new MojoExecutionException(
                    "Could not copy APK classes jar " + apkClassesJar + " to " + unpackedClassesJar, e );
        }
        getLog().debug( "Copied APK classes jar into compile classpath : " + unpackedClassesJar );

    }
Copies a dependent APK jar over the top of the placeholder created for it in AarMavenLifeCycleParticipant.
<p>
This is necessary because we need the classes of the APK added to the compile classpath.
NB APK dependencies are uncommon as they should really only be used in a project that tests an apk.

@param artifact APK dependency for this project whose classes will be copied over.