)]}'
{
  "commit": "2368e8badaaa99145093e1f0be4715a9f22efa37",
  "tree": "f189f63f883dbf924930815967da309b51d4f7fb",
  "parents": [
    "0b83dc6d7d5978c93deb3da8fbf20d903df0ddb9"
  ],
  "author": {
    "name": "Jooyung Han",
    "email": "jooyung@google.com",
    "time": "Tue Mar 03 00:46:50 2020 +0900"
  },
  "committer": {
    "name": "Victor Chang",
    "email": "vichang@google.com",
    "time": "Tue Apr 14 15:20:19 2020 +0000"
  },
  "message": "Loading JNI libraries in an APEX\n\nIt\u0027s a cherry-pick from aosp/master https://r.android.com/1247869,\nbecause this change is skipped when merging from rvc-dev-plus-aosp\nhttp://ag/10495311, which specifies \"DO NOT MERGE\" in its commit\nmessage.\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(cherry picked from commit 538f99ab285c1440969b9b3331fc0ce750c0d316)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dfbdefd53d12c384a078331275b9f5d95522d6f3",
      "old_mode": 33188,
      "old_path": "libnativeloader/library_namespaces.cpp",
      "new_id": "44b34583a6a5a1e5950e8566e91e1f6e91bc669e",
      "new_mode": 33188,
      "new_path": "libnativeloader/library_namespaces.cpp"
    },
    {
      "type": "modify",
      "old_id": "8fac5343023ec891bc6ef2520c9ad48222844f6b",
      "old_mode": 33188,
      "old_path": "libnativeloader/library_namespaces.h",
      "new_id": "e6d1a87cbb61289b4c8886cb37f4ae244751dcb9",
      "new_mode": 33188,
      "new_path": "libnativeloader/library_namespaces.h"
    },
    {
      "type": "modify",
      "old_id": "988e8a841c946e74df539e2284b5abd6755c0a9c",
      "old_mode": 33188,
      "old_path": "libnativeloader/native_loader.cpp",
      "new_id": "2a28a05c01b14d131d73add53e37ee4e3cc7fad7",
      "new_mode": 33188,
      "new_path": "libnativeloader/native_loader.cpp"
    },
    {
      "type": "modify",
      "old_id": "f0446f0db160d604aecf470260c9e44c72bb737e",
      "old_mode": 33188,
      "old_path": "libnativeloader/native_loader_test.cpp",
      "new_id": "e36a7e6de2d9e8296c9f295306aa31040ab9753e",
      "new_mode": 33188,
      "new_path": "libnativeloader/native_loader_test.cpp"
    },
    {
      "type": "modify",
      "old_id": "c4ac795051a05113f6ae84ae578e0e15d8ef3be2",
      "old_mode": 33188,
      "old_path": "libnativeloader/public_libraries.cpp",
      "new_id": "68c4d9a2af916f42895f01efc0335e2e29577ae0",
      "new_mode": 33188,
      "new_path": "libnativeloader/public_libraries.cpp"
    },
    {
      "type": "modify",
      "old_id": "029566ae08fba562d2ddf6c26ce281e75f7e9ae8",
      "old_mode": 33188,
      "old_path": "libnativeloader/public_libraries.h",
      "new_id": "1d67d121507dbc7370bb5185bf82fad5eda77d13",
      "new_mode": 33188,
      "new_path": "libnativeloader/public_libraries.h"
    }
  ]
}
