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

Commit 03ba9113 authored by Lorenzo Colitti's avatar Lorenzo Colitti Committed by android-build-merger
Browse files

Merge "Make NetworkStack actually build in an unbundled setup." am: 625173c148

am: d9facaa7f0

Change-Id: I3b8ee71bb61512a66f42deec3154712c3adf4d7a
parents c5ada098 6dd28f86
Loading
Loading
Loading
Loading
+19 −7
Original line number Diff line number Diff line
@@ -56,15 +56,24 @@ cc_library_shared {
    srcs: [
        "jni/network_stack_utils_jni.cpp"
    ],

    sdk_version: "current",
    shared_libs: [
        "liblog",
        "libcutils",
        "libnativehelper",
    ],
    static_libs: [
        "libpcap",
        "libnativehelper_compat_libc++",
    ],

    // We cannot use plain "libc++" here to link libc++ dynamically because it results in:
    //   java.lang.UnsatisfiedLinkError: dlopen failed: library "libc++_shared.so" not found
    // even if "libc++" is added into jni_libs below. Adding "libc++_shared" into jni_libs doesn't
    // build because soong complains of:
    //   module NetworkStack missing dependencies: libc++_shared
    //
    // So, link libc++ statically. This means that we also need to ensure that all the C++ libraries
    // we depend on do not dynamically link libc++. This is currently the case, because liblog is
    // C-only and libnativehelper_compat_libc also uses stl: "c++_static".
    //
    // TODO: find a better solution for this in R.
    stl: "c++_static",
    cflags: [
        "-Wall",
        "-Werror",
@@ -79,7 +88,10 @@ java_defaults {
    static_libs: [
        "NetworkStackBase",
    ],
    jni_libs: ["libnetworkstackutilsjni"],
    jni_libs: [
        "libnativehelper_compat_libc++",
        "libnetworkstackutilsjni",
    ],
    // Resources already included in NetworkStackBase
    resource_dirs: [],
    jarjar_rules: "jarjar-rules-shared.txt",
+3 −3
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@
#include <string>

#include <nativehelper/JNIHelp.h>
#include <utils/Log.h>
#include <android/log.h>

namespace android {
constexpr const char NETWORKSTACKUTILS_PKG_NAME[] = "android/net/util/NetworkStackUtils";
@@ -249,7 +249,7 @@ static const JNINativeMethod gNetworkStackUtilsMethods[] = {
extern "C" jint JNI_OnLoad(JavaVM* vm, void*) {
    JNIEnv *env;
    if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
        ALOGE("ERROR: GetEnv failed");
        __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, "ERROR: GetEnv failed");
        return JNI_ERR;
    }

+1 −1
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ android_test {
        "liblog",
        "liblzma",
        "libnativehelper",
        "libnativehelper_compat_libc++",
        "libnetworkstacktestsjni",
        "libnetworkstackutilsjni",
        "libpackagelistparser",
@@ -99,5 +100,4 @@ cc_library_shared {
        "libapf",
        "libpcap",
    ],

}