)]}'
{
  "log": [
    {
      "commit": "14626a7c40471090745b7069310a6c6265671fc9",
      "tree": "c3b0b32abe59ecd16b65168034a6675fb02a7a78",
      "parents": [
        "a0130e8d2842a9a82e4fd4e811ee699272eb2e0b"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Jul 02 23:17:58 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 24 10:28:24 2020 +0000"
      },
      "message": "libnativeloader understands uses-native-library tag\n\nPreviously, libnativeloader provided all the partner-provided public\nshared libraries to apps unconditionally. Starting from Android S, apps\ntargeting S (or higher) get only the libs that are explicited listed\nas dependencies using the \u003cuses-native-library\u003e tag in the app manifest.\nThe libs not listed there are not available to the app even if they are\nregistered as public libraries.\n\nThe changed behavior affects new (S+) apps. Existing apps are not\naffected; they still get all the libraries.\n\nThe implementation is rather straightforward. The library accepts a new\nparameter soname_list from the framework, which is actually from the\n\u003cuses-native-library\u003e tags of the app manifest. The list is used to\nfilter the partner-provided libraries when the target sdk is \u003e 30.\n\nBug: 142191088\nTest: atest CtsUsesNativeLibraryTest\nMerged-In: I52e23dda58fc69f51451c5dbeffd0a77125c9bff\n(cherry picked from commit e741dfd18dcd15f002bc1db9bd6634322e4eeef8)\nChange-Id: I52e23dda58fc69f51451c5dbeffd0a77125c9bff\n"
    },
    {
      "commit": "7ca8b67c21513d3cd236f47332afdd1be1cb1569",
      "tree": "4e226c25734451053b85d24e5176abcc299e3986",
      "parents": [
        "5c25e537f59c2f87a57097ad3eb2f70d8c54de23"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Apr 24 15:43:48 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 27 09:34:03 2020 +0000"
      },
      "message": "Use ART_TARGET_ANDROID instead of __ANDROID__\n\nOn golem, we build for ART_TARGET_LINUX, which doesn\u0027t have support for\nlinkerconfig. Therefore, guard all linker namespace code on\nART_TARGET_ANDROID instead of __ANDROID__ (which is unfortunately not\nunder ART\u0027s control).\n\nTest: build for golem and run\nBug: 154074847\nChange-Id: I7a2b81918177704b42d8aafbd6d7e9d06d34e5f4\n"
    },
    {
      "commit": "538f99ab285c1440969b9b3331fc0ce750c0d316",
      "tree": "018e9cbfc08ba39b3f35e457a8658fcc4cc8db75",
      "parents": [
        "6fc471e510d6a4e9c31fcab6c0542e2efdf50099"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Mar 03 00:46:50 2020 +0900"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 04 05:56:39 2020 +0000"
      },
      "message": "Loading JNI libraries in an APEX\n\nTo load JNI libraries in an APEX, libnativeloader relies on\njni.config.txt file which contains available JNI libraries for\nAPEX namespaces:\n\n  com_android_foo libfoo_jni.so:...\n  com_android_bar libbar_jni.so:...\n\nThis file is generated by linkerconfig.\n\nBug: 143733063\nTest: cuttlestone boots\n      (For now, no behavioral changes because jni.config.txt is empty)\nChange-Id: I066de90a73875118be53972e50d076061922d762\n"
    },
    {
      "commit": "31b3ffa32d4efc3868806917ca3f2c82847478c7",
      "tree": "60a421d346615fd0f1b3171fa5d3820d01ae0867",
      "parents": [
        "cce414f8b46de709250af49398083e99f96b6161"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Oct 14 10:27:00 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 16 15:39:42 2019 +0000"
      },
      "message": "Remove temporary CPPLINT.cfg files\n\nTemporary CPPLINT.cfg files were introduced when move libnativeloader\nand libnativebridge under art/.\n\nBug: 141749154\nTest: mm cpplint-art-all\nChange-Id: I85e75180138a512aef025f1e5275e20d8d1d14b0\n"
    },
    {
      "commit": "9b16e344b246096d228dd4b41ff711884bcfcb3e",
      "tree": "ff93f416fcc59fb831202e80b5fb8c8ede99d500",
      "parents": [
        "e828ea0553b3106598071239e8215fca63b15c9b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Oct 09 13:29:16 2019 +0100"
      },
      "committer": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 11 09:57:02 2019 +0000"
      },
      "message": "Move libnative{bridge,loader} to art/\n\nThis change moves system/core/libnative{bridge,loader} under art/.\n\nBug: 137364733\nTest: m\nChange-Id: I9be7333d00fcd3f36cd80520e50a30ea840187ad\n"
    }
  ]
}
