Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aacfc68a authored by Jerry Zhang's avatar Jerry Zhang Committed by Hridya Valsaraju
Browse files

Use more shared libraries in adb and init.

fs_mgr is used by several different
processes in both system and recovery,
so it makes sense for it to be a shared
library to save space.

libadbd is used by adbd, recovery (as minadbd)
and fastbootd so it should be shared as well.

Bug: 78793464
Test: compiles
Change-Id: I4225f4d1a44e6e5811c68a55595d1f94f0773114
parent d45217a2
Loading
Loading
Loading
Loading
+29 −24
Original line number Diff line number Diff line
@@ -277,7 +277,7 @@ cc_binary_host {
    },
}

cc_library_static {
cc_library {
    name: "libadbd",
    defaults: ["adb_defaults"],
    recovery_available: true,
@@ -288,16 +288,36 @@ cc_library_static {
        "daemon/auth.cpp",
        "daemon/usb.cpp",
        "daemon/jdwp_service.cpp",
        "daemon/mdns.cpp",
        "daemon/file_sync_service.cpp",
        "daemon/framebuffer_service.cpp",
        "daemon/remount_service.cpp",
        "daemon/set_verity_enable_state_service.cpp",
        "daemon/shell_service.cpp",
        "shell_service_protocol.cpp",
    ],

    static_libs: [
        "libavb_user",
        "libdiagnose_usb",
        "libfec",
        "libfec_rs",
        "libfs_mgr",
        "libmdnssd",
        "libqemu_pipe",
        "libsquashfs_utils",
        "libselinux",
    ],

    shared_libs: [
        "libasyncio",
        "libbootloader_message",
        "libbase",
        "libcrypto_utils",
        "libcrypto",
        "libdiagnose_usb",
        "libqemu_pipe",
        "libbase",
        "libcutils",
        "libext4_utils",
        "liblog",
    ],

    export_include_dirs: [
@@ -313,13 +333,6 @@ cc_binary {

    srcs: [
        "daemon/main.cpp",
        "daemon/mdns.cpp",
        "daemon/file_sync_service.cpp",
        "daemon/framebuffer_service.cpp",
        "daemon/remount_service.cpp",
        "daemon/set_verity_enable_state_service.cpp",
        "daemon/shell_service.cpp",
        "shell_service_protocol.cpp",
    ],

    cflags: [
@@ -331,27 +344,19 @@ cc_binary {
        keep_symbols: true,
    },

    static_libs: [
    shared_libs: [
        "libadbd",
        "libasyncio",
        "libavb_user",
        "libbase",
        "libbootloader_message",
        "libcap",
        "libcrypto_utils",
        "libcrypto",
        "libdiagnose_usb",
        "libfec",
        "libfec_rs",
        "libfs_mgr",
        "liblog",
        "libcutils",
        "libext4_utils",
        "libmdnssd",
        "liblog",
        "libminijail",
        "libselinux",
        "libsquashfs_utils",
        "libqemu_pipe",

        "libbase",
        "libcutils",
    ],
}

+4 −4
Original line number Diff line number Diff line
@@ -428,6 +428,10 @@ void local_init(int port)
    std::thread(func, port).detach();
}

std::string getEmulatorSerialString(int console_port) {
    return android::base::StringPrintf("emulator-%d", console_port);
}

#if ADB_HOST
struct EmulatorConnection : public FdConnection {
    EmulatorConnection(unique_fd fd, int local_port)
@@ -462,10 +466,6 @@ static atransport* find_emulator_transport_by_adb_port_locked(int adb_port)
    return it->second;
}

std::string getEmulatorSerialString(int console_port) {
    return android::base::StringPrintf("emulator-%d", console_port);
}

atransport* find_emulator_transport_by_adb_port(int adb_port) {
    std::lock_guard<std::mutex> lock(local_transports_lock);
    return find_emulator_transport_by_adb_port_locked(adb_port);
+14 −7
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ cc_defaults {
    ],
}

cc_library_static {
cc_library {
    name: "libfs_mgr",
    defaults: ["fs_mgr_defaults"],
    recovery_available: true,
@@ -44,18 +44,24 @@ cc_library_static {
        "fs_mgr_avb_ops.cpp",
        "fs_mgr_dm_linear.cpp",
    ],
    static_libs: [
    shared_libs: [
        "libfec",
        "libfec_rs",
        "libbase",
        "libcrypto_utils",
        "libcrypto",
        "libcutils",
        "libext4_utils",
        "libkeyutils",
        "liblog",
        "liblogwrap",
        "libsquashfs_utils",
        "libselinux",
    ],
    static_libs: [
        "libavb",
        "libfstab",
        "libdm",
        "libfstab",
        "liblp",
    ],
    export_static_lib_headers: [
@@ -65,9 +71,8 @@ cc_library_static {
    ],
    whole_static_libs: [
        "liblp",
        "liblogwrap",
        "libdm",
        "libfstab",
        "libdm",
    ],
    cppflags: [
        "-DALLOW_ADBD_DISABLE_VERITY=0",
@@ -82,7 +87,7 @@ cc_library_static {
    },
}

cc_library_static {
cc_library {
    name: "libfstab",
    vendor_available: true,
    recovery_available: true,
@@ -93,5 +98,7 @@ cc_library_static {
        "fs_mgr_slotselect.cpp",
    ],
    export_include_dirs: ["include_fstab"],
    header_libs: ["libbase_headers"],
    shared_libs: [
        "libbase",
    ],
}
+4 −4
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
// limitations under the License.
//

cc_library_static {
cc_library {
    name: "libdm",
    defaults: ["fs_mgr_defaults"],
    recovery_available: true,
@@ -32,9 +32,9 @@ cc_library_static {
        "loop_control.cpp",
    ],

    header_libs: [
        "libbase_headers",
        "liblog_headers",
    shared_libs: [
        "libbase",
        "liblog",
    ],
}

+9 −8
Original line number Diff line number Diff line
@@ -59,17 +59,9 @@ cc_defaults {
        },
    },
    static_libs: [
        "libbootloader_message",
        "libfs_mgr",
        "libfec",
        "libfec_rs",
        "libhidl-gen-utils",
        "libsquashfs_utils",
        "liblogwrap",
        "libext4_utils",
        "libseccomp_policy",
        "libcrypto_utils",
        "libsparse",
        "libprocessgroup",
        "libavb",
        "libkeyutils",
@@ -78,13 +70,22 @@ cc_defaults {
        "libpropertyinfoparser",
    ],
    shared_libs: [
        "libbootloader_message",
        "libcrypto_utils",
        "libcutils",
        "libbase",
        "libc",
        "libext4_utils",
        "libfs_mgr",
        "libfec",
        "libfec_rs",
        "liblog",
        "liblogwrap",
        "libcrypto",
        "libc++",
        "libdl",
        "libselinux",
        "libsparse",
        "libz",
        "libselinux",
    ],