Add R8 support

Add support for R8 to optimize apps and java libraries.

Test: m checkbuild
Change-Id: I2afd5d7a84912d3ab613c32c599bd1ebe60562e0
diff --git a/java/app.go b/java/app.go
index df53375..234dcb7 100644
--- a/java/app.go
+++ b/java/app.go
@@ -125,14 +125,13 @@
 	// apps manifests are handled by aapt, don't let Module see them
 	a.properties.Manifest = nil
 
-	//if !ctx.ContainsProperty("proguard.enabled") {
-	//	a.properties.Proguard.Enabled = true
-	//}
-
 	if String(a.appProperties.Instrumentation_for) == "" {
 		a.properties.Instrument = true
 	}
 
+	a.Module.extraProguardFlagFiles = append(a.Module.extraProguardFlagFiles,
+		proguardOptionsFile)
+
 	if ctx.ModuleName() != "framework-res" {
 		a.Module.compile(ctx, a.aaptSrcJar)
 	}
@@ -324,6 +323,9 @@
 func AndroidAppFactory() android.Module {
 	module := &AndroidApp{}
 
+	module.Module.deviceProperties.Optimize.Enabled = proptools.BoolPtr(true)
+	module.Module.deviceProperties.Optimize.Shrink = proptools.BoolPtr(true)
+
 	module.AddProperties(
 		&module.Module.properties,
 		&module.Module.deviceProperties,