Merge "Update riscv64 prebuilts from a local AOSP build." into main am: 3376685744

Original change: https://android-review.googlesource.com/c/platform/prebuilts/runtime/+/2662200

Change-Id: I0c0cc8be6c9872e057734fb84798f7b74f173a4a
Signed-off-by: Automerger Merge Worker <[email protected]>
diff --git a/mainline/conscrypt/apex/Android.bp b/mainline/conscrypt/apex/Android.bp
index 5fe1151..686be22 100644
--- a/mainline/conscrypt/apex/Android.bp
+++ b/mainline/conscrypt/apex/Android.bp
@@ -27,6 +27,9 @@
         arm64: {
             src: "com.android.conscrypt-arm64.apex",
         },
+        riscv64: {
+            src: "com.android.conscrypt-riscv64.apex",
+        },
         x86: {
             src: "com.android.conscrypt-x86.apex",
         },
diff --git a/mainline/conscrypt/apex/com.android.conscrypt-riscv64.apex b/mainline/conscrypt/apex/com.android.conscrypt-riscv64.apex
new file mode 100644
index 0000000..f9f75ec
--- /dev/null
+++ b/mainline/conscrypt/apex/com.android.conscrypt-riscv64.apex
Binary files differ
diff --git a/mainline/i18n/apex/Android.bp b/mainline/i18n/apex/Android.bp
index 497add7..bf3d34e 100644
--- a/mainline/i18n/apex/Android.bp
+++ b/mainline/i18n/apex/Android.bp
@@ -32,6 +32,9 @@
         arm64: {
             src: "com.android.i18n-arm64.apex",
         },
+        riscv64: {
+            src: "com.android.i18n-riscv64.apex",
+        },
         x86: {
             src: "com.android.i18n-x86.apex",
         },
diff --git a/mainline/i18n/apex/com.android.i18n-riscv64.apex b/mainline/i18n/apex/com.android.i18n-riscv64.apex
new file mode 100644
index 0000000..e5e21d6
--- /dev/null
+++ b/mainline/i18n/apex/com.android.i18n-riscv64.apex
Binary files differ
diff --git a/mainline/i18n/sdk/android/riscv64/lib/libandroidicu.so b/mainline/i18n/sdk/android/riscv64/lib/libandroidicu.so
index 3f88579..09e4770 100755
--- a/mainline/i18n/sdk/android/riscv64/lib/libandroidicu.so
+++ b/mainline/i18n/sdk/android/riscv64/lib/libandroidicu.so
Binary files differ
diff --git a/mainline/i18n/sdk/android/riscv64/lib/libicu.so b/mainline/i18n/sdk/android/riscv64/lib/libicu.so
index f6eece9..7e16129 100755
--- a/mainline/i18n/sdk/android/riscv64/lib/libicu.so
+++ b/mainline/i18n/sdk/android/riscv64/lib/libicu.so
Binary files differ
diff --git a/mainline/i18n/test-exports/android/riscv64/lib/libicu_jni.so b/mainline/i18n/test-exports/android/riscv64/lib/libicu_jni.so
index 76cc8bd..1893f82 100755
--- a/mainline/i18n/test-exports/android/riscv64/lib/libicu_jni.so
+++ b/mainline/i18n/test-exports/android/riscv64/lib/libicu_jni.so
Binary files differ
diff --git a/mainline/i18n/test-exports/android/riscv64/lib/libicui18n.so b/mainline/i18n/test-exports/android/riscv64/lib/libicui18n.so
index 15dcd83..162ed1e 100755
--- a/mainline/i18n/test-exports/android/riscv64/lib/libicui18n.so
+++ b/mainline/i18n/test-exports/android/riscv64/lib/libicui18n.so
Binary files differ
diff --git a/mainline/i18n/test-exports/android/riscv64/lib/libicuuc.so b/mainline/i18n/test-exports/android/riscv64/lib/libicuuc.so
index a4d2164..f913b8a 100755
--- a/mainline/i18n/test-exports/android/riscv64/lib/libicuuc.so
+++ b/mainline/i18n/test-exports/android/riscv64/lib/libicuuc.so
Binary files differ
diff --git a/mainline/local_riscv64/prebuilts/module_sdk/StatsD/current/ArtThinBuild.bp b/mainline/local_riscv64/prebuilts/module_sdk/StatsD/current/ArtThinBuild.bp
new file mode 100644
index 0000000..1bff947
--- /dev/null
+++ b/mainline/local_riscv64/prebuilts/module_sdk/StatsD/current/ArtThinBuild.bp
@@ -0,0 +1,158 @@
+// DO NOT COMMIT. Changes in this file are temporary and generated by art/tools/buildbot-build.sh. See b/286551985.
+
+package {
+    // A default list here prevents the license LSC from adding its own list which would
+    // be unnecessary as every module in the sdk already has its own licenses property.
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+prebuilt_bootclasspath_fragment {
+    name: "com.android.os.statsd-bootclasspath-fragment",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: ["//visibility:public"],
+    apex_available: ["com.android.os.statsd"],
+    licenses: ["statsd-module-sdk_Android-Apache-2.0"],
+    contents: ["framework-statsd"],
+    fragments: [
+        {
+            apex: "com.android.art",
+            module: "art-bootclasspath-fragment",
+        },
+    ],
+    hidden_api: {
+        max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
+        annotation_flags: "hiddenapi/annotation-flags.csv",
+        metadata: "hiddenapi/metadata.csv",
+        index: "hiddenapi/index.csv",
+        signature_patterns: "hiddenapi/signature-patterns.csv",
+        filtered_stub_flags: "hiddenapi/filtered-stub-flags.csv",
+        filtered_flags: "hiddenapi/filtered-flags.csv",
+    },
+}
+
+java_sdk_library_import {
+    name: "framework-statsd",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: ["//visibility:public"],
+    apex_available: [
+        "com.android.os.statsd",
+        "test_com.android.os.statsd",
+    ],
+    licenses: ["statsd-module-sdk_Android-Apache-2.0"],
+    shared_library: false,
+    permitted_packages: [
+        "android.app",
+        "android.os",
+        "android.util",
+        "com.android.internal.statsd",
+    ],
+    public: {
+        jars: ["sdk_library/public/framework-statsd-stubs.jar"],
+        stub_srcs: ["sdk_library/public/framework-statsd.srcjar"],
+        current_api: "sdk_library/public/framework-statsd.txt",
+        removed_api: "sdk_library/public/framework-statsd-removed.txt",
+        annotations: "sdk_library/public/framework-statsd_annotations.zip",
+        sdk_version: "module_current",
+    },
+    system: {
+        jars: ["sdk_library/system/framework-statsd-stubs.jar"],
+        stub_srcs: ["sdk_library/system/framework-statsd.srcjar"],
+        current_api: "sdk_library/system/framework-statsd.txt",
+        removed_api: "sdk_library/system/framework-statsd-removed.txt",
+        annotations: "sdk_library/system/framework-statsd_annotations.zip",
+        sdk_version: "module_current",
+    },
+    module_lib: {
+        jars: ["sdk_library/module-lib/framework-statsd-stubs.jar"],
+        stub_srcs: ["sdk_library/module-lib/framework-statsd.srcjar"],
+        current_api: "sdk_library/module-lib/framework-statsd.txt",
+        removed_api: "sdk_library/module-lib/framework-statsd-removed.txt",
+        annotations: "sdk_library/module-lib/framework-statsd_annotations.zip",
+        sdk_version: "module_current",
+    },
+}
+
+java_import {
+    name: "service-statsd",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: ["//visibility:public"],
+    apex_available: [
+        "com.android.os.statsd",
+        "test_com.android.os.statsd",
+    ],
+    licenses: ["statsd-module-sdk_Android-Apache-2.0"],
+    jars: ["java_systemserver_libs/snapshot/jars/are/invalid/service-statsd.jar"],
+}
+
+license {
+    name: "statsd-module-sdk_Android-Apache-2.0",
+    visibility: ["//visibility:private"],
+    license_kinds: ["SPDX-license-identifier-Apache-2.0"],
+    license_text: ["licenses/build/soong/licenses/LICENSE"],
+}
+
+cc_prebuilt_library_shared {
+    name: "libstatssocket",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: ["//visibility:public"],
+    apex_available: [
+        "com.android.os.statsd",
+        "test_com.android.os.statsd",
+    ],
+    licenses: ["statsd-module-sdk_Android-Apache-2.0"],
+    stl: "libc++_static",
+    compile_multilib: "both",
+    export_include_dirs: ["include/packages/modules/StatsD/lib/libstatssocket/include"],
+    stubs: {
+        versions: [
+            "30",
+            "current",
+        ],
+    },
+    arch: {
+        arm64: {
+            srcs: ["arm64/lib/libstatssocket.so"],
+        },
+        riscv64: {
+            srcs: ["riscv64/lib/libstatssocket.so"],
+        },
+        x86_64: {
+            srcs: ["x86_64/lib/libstatssocket.so"],
+        },
+        arm: {
+            srcs: ["arm/lib/libstatssocket.so"],
+        },
+        x86: {
+            srcs: ["x86/lib/libstatssocket.so"],
+        },
+    },
+}
+
+prebuilt_systemserverclasspath_fragment {
+    name: "com.android.os.statsd-systemserverclasspath-fragment",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: ["//visibility:public"],
+    apex_available: ["com.android.os.statsd"],
+    licenses: ["statsd-module-sdk_Android-Apache-2.0"],
+    standalone_contents: ["service-statsd"],
+}
diff --git a/mainline/local_riscv64/prebuilts/module_sdk/StatsD/current/riscv64/lib/libstatspull.so b/mainline/local_riscv64/prebuilts/module_sdk/StatsD/current/riscv64/lib/libstatspull.so
new file mode 100755
index 0000000..c6738a2
--- /dev/null
+++ b/mainline/local_riscv64/prebuilts/module_sdk/StatsD/current/riscv64/lib/libstatspull.so
Binary files differ
diff --git a/mainline/local_riscv64/prebuilts/module_sdk/StatsD/current/riscv64/lib/libstatssocket.so b/mainline/local_riscv64/prebuilts/module_sdk/StatsD/current/riscv64/lib/libstatssocket.so
new file mode 100755
index 0000000..eac3f6b
--- /dev/null
+++ b/mainline/local_riscv64/prebuilts/module_sdk/StatsD/current/riscv64/lib/libstatssocket.so
Binary files differ
diff --git a/mainline/local_riscv64/prebuilts/module_sdk/conscrypt/current/ArtThinBuild.bp b/mainline/local_riscv64/prebuilts/module_sdk/conscrypt/current/ArtThinBuild.bp
new file mode 100644
index 0000000..ea4b76b
--- /dev/null
+++ b/mainline/local_riscv64/prebuilts/module_sdk/conscrypt/current/ArtThinBuild.bp
@@ -0,0 +1,209 @@
+// DO NOT COMMIT. Changes in this file are temporary and generated by art/tools/buildbot-build.sh. See b/286551985.
+
+package {
+    // A default list here prevents the license LSC from adding its own list which would
+    // be unnecessary as every module in the sdk already has its own licenses property.
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+prebuilt_bootclasspath_fragment {
+    name: "com.android.conscrypt-bootclasspath-fragment",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: ["//external/conscrypt:__subpackages__"],
+    apex_available: ["com.android.conscrypt"],
+    licenses: ["conscrypt-module-sdk_external_conscrypt_license"],
+    contents: ["conscrypt"],
+    fragments: [
+        {
+            apex: "com.android.art",
+            module: "art-bootclasspath-fragment",
+        },
+    ],
+    api: {
+        stub_libs: ["conscrypt.module.public.api"],
+    },
+    core_platform_api: {
+        stub_libs: ["conscrypt.module.platform.api"],
+    },
+    hidden_api: {
+        max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
+        annotation_flags: "hiddenapi/annotation-flags.csv",
+        metadata: "hiddenapi/metadata.csv",
+        index: "hiddenapi/index.csv",
+        signature_patterns: "hiddenapi/signature-patterns.csv",
+        filtered_stub_flags: "hiddenapi/filtered-stub-flags.csv",
+        filtered_flags: "hiddenapi/filtered-flags.csv",
+    },
+}
+
+java_import {
+    name: "conscrypt",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: [
+        "//device:__subpackages__",
+        "//external/conscrypt:__subpackages__",
+        "//system/apex/tests",
+    ],
+    apex_available: [
+        "com.android.conscrypt",
+        "test_com.android.conscrypt",
+    ],
+    licenses: ["conscrypt-module-sdk_external_conscrypt_license"],
+    jars: ["java_boot_libs/snapshot/jars/are/invalid/conscrypt.jar"],
+    permitted_packages: [
+        "android.net.ssl",
+        "com.android.org.conscrypt",
+    ],
+}
+
+java_sdk_library_import {
+    name: "conscrypt.module.public.api",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: [
+        "//build/soong/java/core-libraries",
+        "//external/conscrypt",
+        "//frameworks/base",
+        "//frameworks/base/api",
+        "//libcore",
+        "//packages/modules/IPsec",
+        "//packages/modules/common/sdk",
+        "//prebuilts:__subpackages__",
+    ],
+    apex_available: ["//apex_available:platform"],
+    licenses: ["conscrypt-module-sdk_external_conscrypt_license"],
+    shared_library: false,
+    public: {
+        jars: ["sdk_library/public/conscrypt.module.public.api-stubs.jar"],
+        stub_srcs: ["sdk_library/public/conscrypt.module.public.api.srcjar"],
+        current_api: "sdk_library/public/conscrypt.module.public.api.txt",
+        removed_api: "sdk_library/public/conscrypt.module.public.api-removed.txt",
+        annotations: "sdk_library/public/conscrypt.module.public.api_annotations.zip",
+        sdk_version: "none",
+    },
+    system: {
+        jars: ["sdk_library/system/conscrypt.module.public.api-stubs.jar"],
+        stub_srcs: ["sdk_library/system/conscrypt.module.public.api.srcjar"],
+        current_api: "sdk_library/system/conscrypt.module.public.api.txt",
+        removed_api: "sdk_library/system/conscrypt.module.public.api-removed.txt",
+        annotations: "sdk_library/system/conscrypt.module.public.api_annotations.zip",
+        sdk_version: "none",
+    },
+    module_lib: {
+        jars: ["sdk_library/module-lib/conscrypt.module.public.api-stubs.jar"],
+        stub_srcs: ["sdk_library/module-lib/conscrypt.module.public.api.srcjar"],
+        current_api: "sdk_library/module-lib/conscrypt.module.public.api.txt",
+        removed_api: "sdk_library/module-lib/conscrypt.module.public.api-removed.txt",
+        annotations: "sdk_library/module-lib/conscrypt.module.public.api_annotations.zip",
+        sdk_version: "none",
+    },
+}
+
+java_sdk_library_import {
+    name: "conscrypt.module.platform.api",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: [
+        "//build/soong/java/core-libraries",
+        "//external/conscrypt",
+        "//external/wycheproof",
+        "//libcore/mmodules/core_platform_api",
+        "//prebuilts:__subpackages__",
+    ],
+    apex_available: ["//apex_available:platform"],
+    licenses: ["conscrypt-module-sdk_external_conscrypt_license"],
+    shared_library: false,
+    public: {
+        jars: ["sdk_library/public/conscrypt.module.platform.api-stubs.jar"],
+        stub_srcs: ["sdk_library/public/conscrypt.module.platform.api.srcjar"],
+        current_api: "sdk_library/public/conscrypt.module.platform.api.txt",
+        removed_api: "sdk_library/public/conscrypt.module.platform.api-removed.txt",
+        sdk_version: "none",
+    },
+}
+
+java_sdk_library_import {
+    name: "conscrypt.module.intra.core.api",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: [
+        "//external/conscrypt",
+        "//external/okhttp",
+        "//libcore:__subpackages__",
+        "//prebuilts:__subpackages__",
+    ],
+    apex_available: ["//apex_available:platform"],
+    licenses: ["conscrypt-module-sdk_external_conscrypt_license"],
+    shared_library: false,
+    public: {
+        jars: ["sdk_library/public/conscrypt.module.intra.core.api-stubs.jar"],
+        stub_srcs: ["sdk_library/public/conscrypt.module.intra.core.api.srcjar"],
+        current_api: "sdk_library/public/conscrypt.module.intra.core.api.txt",
+        removed_api: "sdk_library/public/conscrypt.module.intra.core.api-removed.txt",
+        sdk_version: "none",
+    },
+}
+
+license {
+    name: "conscrypt-module-sdk_external_conscrypt_license",
+    visibility: ["//visibility:private"],
+    license_kinds: [
+        "SPDX-license-identifier-Apache-2.0",
+        "legacy_unencumbered",
+    ],
+    license_text: [
+        "licenses/external/conscrypt/LICENSE",
+        "licenses/external/conscrypt/NOTICE",
+        "licenses/external/conscrypt/licenses/LICENSE.harmony.txt",
+        "licenses/external/conscrypt/licenses/LICENSE.netty.txt",
+    ],
+}
+
+cc_prebuilt_library_shared {
+    name: "libconscrypt_jni",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: ["//external/conscrypt:__subpackages__"],
+    apex_available: ["//apex_available:platform"],
+    licenses: ["conscrypt-module-sdk_external_conscrypt_license"],
+    stl: "c++_static",
+    compile_multilib: "both",
+    shared_libs: ["liblog"],
+    arch: {
+        arm64: {
+            srcs: ["arm64/lib/libconscrypt_jni.so"],
+        },
+        riscv64: {
+            srcs: ["riscv64/lib/libconscrypt_jni.so"],
+        },
+        x86_64: {
+            srcs: ["x86_64/lib/libconscrypt_jni.so"],
+        },
+        arm: {
+            srcs: ["arm/lib/libconscrypt_jni.so"],
+        },
+        x86: {
+            srcs: ["x86/lib/libconscrypt_jni.so"],
+        },
+    },
+}
diff --git a/mainline/local_riscv64/prebuilts/module_sdk/conscrypt/current/riscv64/lib/libconscrypt_jni.so b/mainline/local_riscv64/prebuilts/module_sdk/conscrypt/current/riscv64/lib/libconscrypt_jni.so
new file mode 100755
index 0000000..289ae23
--- /dev/null
+++ b/mainline/local_riscv64/prebuilts/module_sdk/conscrypt/current/riscv64/lib/libconscrypt_jni.so
Binary files differ
diff --git a/mainline/local_riscv64/prebuilts/module_sdk/conscrypt/current/test-exports/ArtThinBuild.bp b/mainline/local_riscv64/prebuilts/module_sdk/conscrypt/current/test-exports/ArtThinBuild.bp
new file mode 100644
index 0000000..3d53c4d
--- /dev/null
+++ b/mainline/local_riscv64/prebuilts/module_sdk/conscrypt/current/test-exports/ArtThinBuild.bp
@@ -0,0 +1,123 @@
+// DO NOT COMMIT. Changes in this file are temporary and generated by art/tools/buildbot-build.sh. See b/286551985.
+
+package {
+    // A default list here prevents the license LSC from adding its own list which would
+    // be unnecessary as every module in the sdk already has its own licenses property.
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+java_import {
+    name: "conscrypt-for-host",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: [
+        "//art/build",
+        "//external/conscrypt",
+        "//external/robolectric",
+        "//external/robolectric-shadows",
+        "//frameworks/layoutlib",
+    ],
+    apex_available: ["//apex_available:platform"],
+    licenses: ["conscrypt-module-test-exports_external_conscrypt_license"],
+    jars: ["java/conscrypt-for-host.jar"],
+}
+
+java_test_import {
+    name: "conscrypt-tests",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: [
+        "//cts/tests/libcore/luni",
+        "//external/conscrypt",
+        "//external/conscrypt/apex/tests",
+    ],
+    apex_available: ["//apex_available:platform"],
+    licenses: ["conscrypt-module-test-exports_external_conscrypt_license"],
+    jars: ["java/conscrypt-tests.jar"],
+    test_config: "java/conscrypt-tests-AndroidTest.xml",
+}
+
+license {
+    name: "conscrypt-module-test-exports_external_conscrypt_license",
+    visibility: ["//visibility:private"],
+    license_kinds: [
+        "SPDX-license-identifier-Apache-2.0",
+        "legacy_unencumbered",
+    ],
+    license_text: [
+        "licenses/external/conscrypt/LICENSE",
+        "licenses/external/conscrypt/NOTICE",
+        "licenses/external/conscrypt/licenses/LICENSE.harmony.txt",
+        "licenses/external/conscrypt/licenses/LICENSE.netty.txt",
+    ],
+}
+
+cc_prebuilt_library_shared {
+    name: "libjavacrypto",
+    // Do not prefer prebuilt if the Soong config variable "module_build_from_source" in namespace "ANDROID" is true.
+    use_source_config_var: {
+        config_namespace: "ANDROID",
+        var_name: "module_build_from_source",
+    },
+    visibility: ["//external/conscrypt:__subpackages__"],
+    apex_available: [
+        "com.android.conscrypt",
+        "test_com.android.conscrypt",
+    ],
+    licenses: ["conscrypt-module-test-exports_external_conscrypt_license"],
+    host_supported: true,
+    target: {
+        host: {
+            enabled: false,
+        },
+        android: {
+            compile_multilib: "both",
+            shared_libs: [
+                "liblog",
+                "libcrypto",
+                "libssl",
+            ],
+        },
+        android_arm64: {
+            srcs: ["android/arm64/lib/libjavacrypto.so"],
+        },
+        android_riscv64: {
+            srcs: ["android/riscv64/lib/libjavacrypto.so"],
+        },
+        android_x86_64: {
+            srcs: ["android/x86_64/lib/libjavacrypto.so"],
+        },
+        android_arm: {
+            srcs: ["android/arm/lib/libjavacrypto.so"],
+        },
+        android_x86: {
+            srcs: ["android/x86/lib/libjavacrypto.so"],
+        },
+        linux_bionic: {
+            compile_multilib: "64",
+            shared_libs: ["liblog"],
+        },
+        linux_bionic_x86_64: {
+            enabled: true,
+            srcs: ["linux_bionic/x86_64/lib/libjavacrypto.so"],
+        },
+        linux_glibc: {
+            compile_multilib: "both",
+            shared_libs: ["liblog"],
+        },
+        linux_glibc_x86_64: {
+            enabled: true,
+            srcs: ["linux_glibc/x86_64/lib/libjavacrypto.so"],
+        },
+        linux_glibc_x86: {
+            enabled: true,
+            srcs: ["linux_glibc/x86/lib/libjavacrypto.so"],
+        },
+    },
+}
diff --git a/mainline/local_riscv64/prebuilts/module_sdk/conscrypt/current/test-exports/android/riscv64/lib/libjavacrypto.so b/mainline/local_riscv64/prebuilts/module_sdk/conscrypt/current/test-exports/android/riscv64/lib/libjavacrypto.so
new file mode 100755
index 0000000..5cb5800
--- /dev/null
+++ b/mainline/local_riscv64/prebuilts/module_sdk/conscrypt/current/test-exports/android/riscv64/lib/libjavacrypto.so
Binary files differ
diff --git a/mainline/platform/impl/riscv64/heapprofd_client_api.so b/mainline/platform/impl/riscv64/heapprofd_client_api.so
new file mode 100644
index 0000000..060d238
--- /dev/null
+++ b/mainline/platform/impl/riscv64/heapprofd_client_api.so
Binary files differ
diff --git a/mainline/platform/impl/riscv64/libandroid_runtime_lazy.so b/mainline/platform/impl/riscv64/libandroid_runtime_lazy.so
new file mode 100644
index 0000000..1301c0a
--- /dev/null
+++ b/mainline/platform/impl/riscv64/libandroid_runtime_lazy.so
Binary files differ
diff --git a/mainline/platform/impl/riscv64/libartpalette-system.so b/mainline/platform/impl/riscv64/libartpalette-system.so
new file mode 100644
index 0000000..d681849
--- /dev/null
+++ b/mainline/platform/impl/riscv64/libartpalette-system.so
Binary files differ
diff --git a/mainline/platform/impl/riscv64/libbase.so b/mainline/platform/impl/riscv64/libbase.so
new file mode 100644
index 0000000..492e94e
--- /dev/null
+++ b/mainline/platform/impl/riscv64/libbase.so
Binary files differ
diff --git a/mainline/platform/impl/riscv64/libbinder.so b/mainline/platform/impl/riscv64/libbinder.so
new file mode 100644
index 0000000..eed6446
--- /dev/null
+++ b/mainline/platform/impl/riscv64/libbinder.so
Binary files differ
diff --git a/mainline/platform/impl/riscv64/libbinder_ndk.so b/mainline/platform/impl/riscv64/libbinder_ndk.so
new file mode 100644
index 0000000..8806e9b
--- /dev/null
+++ b/mainline/platform/impl/riscv64/libbinder_ndk.so
Binary files differ
diff --git a/mainline/platform/impl/riscv64/libcutils.so b/mainline/platform/impl/riscv64/libcutils.so
new file mode 100644
index 0000000..81e0a86
--- /dev/null
+++ b/mainline/platform/impl/riscv64/libcutils.so
Binary files differ
diff --git a/mainline/platform/impl/riscv64/liblog.so b/mainline/platform/impl/riscv64/liblog.so
new file mode 100644
index 0000000..f01bd5d
--- /dev/null
+++ b/mainline/platform/impl/riscv64/liblog.so
Binary files differ
diff --git a/mainline/platform/impl/riscv64/libutils.so b/mainline/platform/impl/riscv64/libutils.so
new file mode 100644
index 0000000..aca7904
--- /dev/null
+++ b/mainline/platform/impl/riscv64/libutils.so
Binary files differ
diff --git a/mainline/platform/impl/riscv64/libvndksupport.so b/mainline/platform/impl/riscv64/libvndksupport.so
new file mode 100644
index 0000000..0b665a6
--- /dev/null
+++ b/mainline/platform/impl/riscv64/libvndksupport.so
Binary files differ
diff --git a/mainline/platform/sdk/android/riscv64/lib/libartpalette-system.so b/mainline/platform/sdk/android/riscv64/lib/libartpalette-system.so
index 982f922..5759082 100755
--- a/mainline/platform/sdk/android/riscv64/lib/libartpalette-system.so
+++ b/mainline/platform/sdk/android/riscv64/lib/libartpalette-system.so
Binary files differ
diff --git a/mainline/platform/sdk/android/riscv64/lib/libcap.a b/mainline/platform/sdk/android/riscv64/lib/libcap.a
index cd9c066..c6e96ce 100644
--- a/mainline/platform/sdk/android/riscv64/lib/libcap.a
+++ b/mainline/platform/sdk/android/riscv64/lib/libcap.a
Binary files differ
diff --git a/mainline/platform/sdk/android/riscv64/lib/liblog.so b/mainline/platform/sdk/android/riscv64/lib/liblog.so
index 0bba0aa..e3f82c4 100755
--- a/mainline/platform/sdk/android/riscv64/lib/liblog.so
+++ b/mainline/platform/sdk/android/riscv64/lib/liblog.so
Binary files differ
diff --git a/mainline/platform/sdk/riscv64/lib/heapprofd_client_api.so b/mainline/platform/sdk/riscv64/lib/heapprofd_client_api.so
index ec366e7..12a5607 100755
--- a/mainline/platform/sdk/riscv64/lib/heapprofd_client_api.so
+++ b/mainline/platform/sdk/riscv64/lib/heapprofd_client_api.so
Binary files differ
diff --git a/mainline/platform/sdk/riscv64/lib/libbinder_ndk.so b/mainline/platform/sdk/riscv64/lib/libbinder_ndk.so
index 22b0f97..a08c91e 100755
--- a/mainline/platform/sdk/riscv64/lib/libbinder_ndk.so
+++ b/mainline/platform/sdk/riscv64/lib/libbinder_ndk.so
Binary files differ
diff --git a/mainline/platform/sdk/riscv64/lib/libperfetto_client_experimental.a b/mainline/platform/sdk/riscv64/lib/libperfetto_client_experimental.a
index afc12e2..bea2795 100644
--- a/mainline/platform/sdk/riscv64/lib/libperfetto_client_experimental.a
+++ b/mainline/platform/sdk/riscv64/lib/libperfetto_client_experimental.a
Binary files differ
diff --git a/mainline/platform/sdk/riscv64/lib/perfetto_trace_protos.a b/mainline/platform/sdk/riscv64/lib/perfetto_trace_protos.a
index 2879508..fa157fe 100644
--- a/mainline/platform/sdk/riscv64/lib/perfetto_trace_protos.a
+++ b/mainline/platform/sdk/riscv64/lib/perfetto_trace_protos.a
Binary files differ
diff --git a/mainline/platform/test-exports/riscv64/lib/libtombstoned_client.so b/mainline/platform/test-exports/riscv64/lib/libtombstoned_client.so
index 9b4b71b..d0369cd 100755
--- a/mainline/platform/test-exports/riscv64/lib/libtombstoned_client.so
+++ b/mainline/platform/test-exports/riscv64/lib/libtombstoned_client.so
Binary files differ
diff --git a/mainline/runtime/apex/Android.bp b/mainline/runtime/apex/Android.bp
index 4066a66..b6d5f2a 100644
--- a/mainline/runtime/apex/Android.bp
+++ b/mainline/runtime/apex/Android.bp
@@ -27,6 +27,9 @@
         arm64: {
             src: "com.android.runtime-arm64.apex",
         },
+        riscv64: {
+            src: "com.android.runtime-riscv64.apex",
+        },
         x86: {
             src: "com.android.runtime-x86.apex",
         },
diff --git a/mainline/runtime/apex/com.android.runtime-riscv64.apex b/mainline/runtime/apex/com.android.runtime-riscv64.apex
new file mode 100644
index 0000000..cddd8e5
--- /dev/null
+++ b/mainline/runtime/apex/com.android.runtime-riscv64.apex
Binary files differ
diff --git a/mainline/runtime/sdk/android/riscv64/lib/crtbegin_dynamic.o b/mainline/runtime/sdk/android/riscv64/lib/crtbegin_dynamic.o
index 725d53a..8b2ecfb 100644
--- a/mainline/runtime/sdk/android/riscv64/lib/crtbegin_dynamic.o
+++ b/mainline/runtime/sdk/android/riscv64/lib/crtbegin_dynamic.o
Binary files differ
diff --git a/mainline/runtime/sdk/android/riscv64/lib/crtbegin_so.o b/mainline/runtime/sdk/android/riscv64/lib/crtbegin_so.o
index 9093aa4..8ba8fe7 100644
--- a/mainline/runtime/sdk/android/riscv64/lib/crtbegin_so.o
+++ b/mainline/runtime/sdk/android/riscv64/lib/crtbegin_so.o
Binary files differ
diff --git a/mainline/runtime/sdk/android/riscv64/lib/crtend_android.o b/mainline/runtime/sdk/android/riscv64/lib/crtend_android.o
index 1dddf00..348146d0 100644
--- a/mainline/runtime/sdk/android/riscv64/lib/crtend_android.o
+++ b/mainline/runtime/sdk/android/riscv64/lib/crtend_android.o
Binary files differ
diff --git a/mainline/runtime/sdk/android/riscv64/lib/crtend_so.o b/mainline/runtime/sdk/android/riscv64/lib/crtend_so.o
index 877bfdd..3d0addb 100644
--- a/mainline/runtime/sdk/android/riscv64/lib/crtend_so.o
+++ b/mainline/runtime/sdk/android/riscv64/lib/crtend_so.o
Binary files differ
diff --git a/mainline/runtime/sdk/android/riscv64/lib/libasync_safe.a b/mainline/runtime/sdk/android/riscv64/lib/libasync_safe.a
index 0d0193d..3fb08c1 100644
--- a/mainline/runtime/sdk/android/riscv64/lib/libasync_safe.a
+++ b/mainline/runtime/sdk/android/riscv64/lib/libasync_safe.a
Binary files differ
diff --git a/mainline/runtime/sdk/android/riscv64/lib/libc.so b/mainline/runtime/sdk/android/riscv64/lib/libc.so
index 8ccab0a..cf81bd8 100755
--- a/mainline/runtime/sdk/android/riscv64/lib/libc.so
+++ b/mainline/runtime/sdk/android/riscv64/lib/libc.so
Binary files differ
diff --git a/mainline/runtime/sdk/android/riscv64/lib/libdl.so b/mainline/runtime/sdk/android/riscv64/lib/libdl.so
index 84ee615..49677c8 100755
--- a/mainline/runtime/sdk/android/riscv64/lib/libdl.so
+++ b/mainline/runtime/sdk/android/riscv64/lib/libdl.so
Binary files differ
diff --git a/mainline/runtime/sdk/android/riscv64/lib/libdl_android.so b/mainline/runtime/sdk/android/riscv64/lib/libdl_android.so
index d5269d2..dd36ff2 100755
--- a/mainline/runtime/sdk/android/riscv64/lib/libdl_android.so
+++ b/mainline/runtime/sdk/android/riscv64/lib/libdl_android.so
Binary files differ
diff --git a/mainline/runtime/sdk/android/riscv64/lib/libm.so b/mainline/runtime/sdk/android/riscv64/lib/libm.so
index a52b828..7b5b55f 100755
--- a/mainline/runtime/sdk/android/riscv64/lib/libm.so
+++ b/mainline/runtime/sdk/android/riscv64/lib/libm.so
Binary files differ
diff --git a/mainline/statsd/apex/Android.bp b/mainline/statsd/apex/Android.bp
index 9d115fa..73b8924 100644
--- a/mainline/statsd/apex/Android.bp
+++ b/mainline/statsd/apex/Android.bp
@@ -27,6 +27,9 @@
         arm64: {
             src: "com.android.os.statsd-arm64.apex",
         },
+        riscv64: {
+            src: "com.android.os.statsd-riscv64.apex",
+        },
         x86: {
             src: "com.android.os.statsd-x86.apex",
         },
diff --git a/mainline/statsd/apex/com.android.os.statsd-riscv64.apex b/mainline/statsd/apex/com.android.os.statsd-riscv64.apex
new file mode 100644
index 0000000..9dfe082
--- /dev/null
+++ b/mainline/statsd/apex/com.android.os.statsd-riscv64.apex
Binary files differ
diff --git a/mainline/tzdata/apex/Android.bp b/mainline/tzdata/apex/Android.bp
index 2400d78..092fcda 100644
--- a/mainline/tzdata/apex/Android.bp
+++ b/mainline/tzdata/apex/Android.bp
@@ -27,6 +27,9 @@
         arm64: {
             src: "com.android.tzdata-arm64.apex",
         },
+        riscv64: {
+            src: "com.android.tzdata-riscv64.apex",
+        },
         x86: {
             src: "com.android.tzdata-x86.apex",
         },
diff --git a/mainline/tzdata/apex/com.android.tzdata-riscv64.apex b/mainline/tzdata/apex/com.android.tzdata-riscv64.apex
new file mode 100644
index 0000000..49d062c
--- /dev/null
+++ b/mainline/tzdata/apex/com.android.tzdata-riscv64.apex
Binary files differ