code: private void generateIntermediateApk() throws MojoExecutionException
      {
  
          CommandExecutor executor = CommandExecutor.Factory.createDefaultCommmandExecutor();
          executor.setLogger( this.getLog() );
          File[] overlayDirectories = getResourceOverlayDirectories();
  
          File androidJar = getAndroidSdk().getAndroidJar();
          File outputFile = new File( targetDirectory, finalName + ".ap_" );
  
          List<File> dependencyArtifactResDirectoryList = new ArrayList<File>();
          for ( Artifact libraryArtifact : getTransitiveDependencyArtifacts( APKLIB, AAR ) )
          {
              final File apklibResDirectory = getUnpackedLibResourceFolder( libraryArtifact );
              if ( apklibResDirectory.exists() )
              {
                  dependencyArtifactResDirectoryList.add( apklibResDirectory );
              }
          }
  
          AaptCommandBuilder commandBuilder = AaptCommandBuilder
                  .packageResources( getLog() )
                  .forceOverwriteExistingFiles()
                  .setPathToAndroidManifest( destinationManifestFile )
                  .addResourceDirectoriesIfExists( overlayDirectories )
                  .addResourceDirectoryIfExists( resourceDirectory )
                  .addResourceDirectoriesIfExists( dependencyArtifactResDirectoryList )
                  .autoAddOverlay()
                  // NB aapt only accepts a single assets parameter - combinedAssets is a merge of all assets
                  .addRawAssetsDirectoryIfExists( combinedAssets )
                  .addExistingPackageToBaseIncludeSet( androidJar )
                  .setOutputApkFile( outputFile )
                  .addConfigurations( configurations )
                  .setVerbose( aaptVerbose );
  
          getLog().debug( getAndroidSdk().getAaptPath() + " " + commandBuilder.toString() );
          getLog().info( "Generating apklib" );
          try
          {
              executor.setCaptureStdOut( true );
              List<String> commands = commandBuilder.build();
              executor.executeCommand( getAndroidSdk().getAaptPath(), commands, project.getBasedir(), false );
          }
          catch ( ExecutionException e )
          {
              throw new MojoExecutionException( "", e );
          }
      }
docs: Generates an intermediate apk file (actually .ap_) containing the resources and assets.
  
  @throws MojoExecutionException