Expose android configuration to skylark (android_sdk and apk_signing_method)

PiperOrigin-RevId: 165596223
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java b/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java
index fb1f4ad..0853001 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/FragmentCollection.java
@@ -34,7 +34,7 @@
     doc = "Possible fields are "
     + "<a href=\"apple.html\">apple</a>, <a href=\"cpp.html\">cpp</a>, "
     + "<a href=\"java.html\">java</a>, <a href=\"jvm.html\">jvm</a> and "
-    + "<a href=\"objc.html\">objc</a>. "
+    + "<a href=\"objc.html\">objc</a>, <a href=\"android.html\">android</a>. "
     + "Access a specific fragment by its field name ex:</p><code>ctx.fragments.apple</code></p>"
     + "Note that rules have to declare their required fragments in order to access them "
     + "(see <a href=\"../rules.md#fragments\">here</a>).")
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
index 2b4291e..9d24812 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidConfiguration.java
@@ -39,6 +39,9 @@
 import com.google.devtools.build.lib.rules.cpp.CppConfiguration.DynamicMode;
 import com.google.devtools.build.lib.rules.cpp.CppOptions.DynamicModeConverter;
 import com.google.devtools.build.lib.rules.cpp.CppOptions.LibcTopLabelConverter;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
+import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory;
 import com.google.devtools.common.options.Converter;
 import com.google.devtools.common.options.Converters;
 import com.google.devtools.common.options.EnumConverter;
@@ -51,9 +54,12 @@
 import java.util.Set;
 import javax.annotation.Nullable;
 
-/**
- * Configuration fragment for Android rules.
- */
+/** Configuration fragment for Android rules. */
+@SkylarkModule(
+  name = "android",
+  doc = "A configuration fragment for Android.",
+  category = SkylarkModuleCategory.CONFIGURATION_FRAGMENT
+)
 @Immutable
 public class AndroidConfiguration extends BuildConfiguration.Fragment {
 
@@ -837,6 +843,7 @@
     return cpu;
   }
 
+  @SkylarkCallable(name = "sdk", structField = true, doc = "Android SDK")
   public Label getSdk() {
     return sdk;
   }