Add support for building android apps

Add support for running aapt to generate R.java and Manifest.java,
compiling java into jar, adding resources to the jar to convert it
into an apk, signing the apk, and zipaligning the apk.

Change-Id: I7a73fef590d07f35b3d0b56a8571780c09bb10ae
diff --git a/common/config.go b/common/config.go
index 5d761e6..10ed4f0 100644
--- a/common/config.go
+++ b/common/config.go
@@ -44,7 +44,7 @@
 type config struct {
 	FileConfigurableOptions
 
-	srcDir  string // the path of the root source directory
+	srcDir string // the path of the root source directory
 
 	envLock sync.Mutex
 	envDeps map[string]string
@@ -217,3 +217,39 @@
 func (c *config) HostJavaTool(tool string) (string, error) {
 	return filepath.Join(c.HostJavaDir(), tool), nil
 }
+
+func (c *config) ResourceOverlays() []string {
+	return nil
+}
+
+func (c *config) PlatformVersion() string {
+	return "M"
+}
+
+func (c *config) PlatformSdkVersion() string {
+	return "22"
+}
+
+func (c *config) BuildNumber() string {
+	return "000000"
+}
+
+func (c *config) ProductAaptConfig() []string {
+	return []string{"normal", "large", "xlarge", "hdpi", "xhdpi", "xxhdpi"}
+}
+
+func (c *config) ProductAaptPreferredConfig() string {
+	return "xhdpi"
+}
+
+func (c *config) ProductAaptCharacteristics() string {
+	return "nosdcard"
+}
+
+func (c *config) DefaultAppCertificateDir() string {
+	return filepath.Join(c.SrcDir(), "build/target/product/security")
+}
+
+func (c *config) DefaultAppCertificate() string {
+	return filepath.Join(c.DefaultAppCertificateDir(), "testkey")
+}