Add core library modules visibility rules

Adds visibility to core library modules to prevent them from being
accessed unnecessarily.

Bug: 112158820
Test: make core-tests
Change-Id: I6b5e4bd27c4731984d8ea886ea27fdfb801a6217
diff --git a/Android.bp b/Android.bp
index e4df2f3..cfcc3de 100644
--- a/Android.bp
+++ b/Android.bp
@@ -202,13 +202,21 @@
 
 filegroup {
     name: "conscrypt_public_api_files",
-    srcs: ["publicapi/src/main/java/**/*.java"]
+    srcs: ["publicapi/src/main/java/**/*.java"],
 }
 
 // Create the conscrypt library from the source produced by the srcgen/generate_android_src.sh
 // script.
 java_library {
     name: "conscrypt",
+    visibility: [
+        "//external/okhttp",
+        "//external/robolectric-shadows",
+        "//external/wycheproof",
+        "//libcore",
+        "//system/apex/tests",
+        ":__subpackages__",
+    ],
     installable: true,
     hostdex: true,
 
@@ -344,7 +352,6 @@
     stl: "c++_shared",
 }
 
-
 // Make the conscrypt-tests library.
 java_test {
     name: "conscrypt-tests",