src/main/java/com/simpligility/maven/plugins/android/AbstractAndroidMojo.java
protected String extractPackageNameFromAndroidManifestXmlTree( String aaptDumpXmlTree )
    {
        final Scanner scanner = new Scanner( aaptDumpXmlTree );
        // Finds the root element named "manifest".
        scanner.findWithinHorizon( "^E: manifest", 0 );
        // Finds the manifest element's attribute named "package".
        scanner.findWithinHorizon( "  A: package=\"", 0 );
        // Extracts the package value including the trailing double quote.
        String packageName = scanner.next( ".*?\"" );
        // Removes the double quote.
        packageName = packageName.substring( 0, packageName.length() - 1 );
        return packageName;
    }
protected String extractPackageNameFromAndroidManifestXmlTree( String aaptDumpXmlTree )
    {
        final Scanner scanner = new Scanner( aaptDumpXmlTree );
        // Finds the root element named "manifest".
        scanner.findWithinHorizon( "^E: manifest", 0 );
        // Finds the manifest element's attribute named "package".
        scanner.findWithinHorizon( "  A: package=\"", 0 );
        // Extracts the package value including the trailing double quote.
        String packageName = scanner.next( ".*?\"" );
        // Removes the double quote.
        packageName = packageName.substring( 0, packageName.length() - 1 );
        return packageName;
    }
Extracts the package name from an XmlTree dump of AndroidManifest.xml by the <code>aapt</code> tool.

@param aaptDumpXmlTree output from <code>aapt dump xmltree &lt;apkFile&gt; AndroidManifest.xml
@return the package name from inside the apkFile.