)]}'
{
  "log": [
    {
      "commit": "d00bb5edcfc8ee5c2026f66785b703b388314b22",
      "tree": "8eca016216872e5aaf34f33e690b83ca96d619aa",
      "parents": [
        "a80aba70728c2843df94474dbd7829dadb77855f"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 07 12:14:45 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Oct 07 12:14:45 2014 -0700"
      },
      "message": "Load shared library dependencies for AppWidgets\n\nPackageManager and AppWidgetHostServiceImpl should\nbe loading the resources of any shared libraries being\nused by the app, as they have references in their Widgets\nor application icons/labels, etc.\n\nBug:17668152\nChange-Id: I359662334edb125d7570089916727df4eeba02bb\n"
    },
    {
      "commit": "908c748096d855d47da2f5e20fd4d9d31d1e603c",
      "tree": "8031415a8deef274fa5bc89ba5c9744d6378889b",
      "parents": [
        "5069dd69898bd0d9c69ba2bbd37239ec8d1c9dc6"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Oct 01 18:11:18 2014 +0000"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Oct 01 18:11:18 2014 +0000"
      },
      "message": "Revert \"Fix issue with using locally defined attrs in a shared lib\"\n\nThis reverts commit 5069dd69898bd0d9c69ba2bbd37239ec8d1c9dc6.\n\nThe reverted commit caused issues loading resources supplied by static libraries.\n\nBug 17748356\n\nChange-Id: I860a4f31451ee7c03c02974826472a67226b029f\n"
    },
    {
      "commit": "5069dd69898bd0d9c69ba2bbd37239ec8d1c9dc6",
      "tree": "f0ddd3b922e53ed84c14558c6345724a588656ba",
      "parents": [
        "75c33d9d04d8c0a9884a70077681261b57c7833c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Sep 30 16:06:58 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Sep 30 16:18:09 2014 -0700"
      },
      "message": "Fix issue with using locally defined attrs in a shared lib\n\nThe attribute name resource IDs were never fixed up with\nthe runtime package ID so we weren\u0027t finding attributes\nwhenever the runtime package ID was different than the build\ntime one, which happened to be when a shared lib referenced itself\n(0x00 vs 0x02).\n\nBug:17666947\nChange-Id: Icf3e874bcea0e27eebe42d60fbed626a34bf9266\n"
    },
    {
      "commit": "63e646eed5a8d7f5d04544ac8628f65b0173cf3a",
      "tree": "06461d85d0b53e9ed5e50724f64e7e670ac44c24",
      "parents": [
        "805f6ebf17e2791624bb1a30834b4c1cc65583bf"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 30 11:40:39 2014 -0700"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jul 30 21:53:48 2014 +0000"
      },
      "message": "Add shared library support to aapt dump\n\nAAPT dump should be able to handle dynamic references\nthat often come with shared library resources.\n\nBug:16678251\nChange-Id: I6c8cd943145aab20ca9db9694c8c433b3c64279b\n"
    },
    {
      "commit": "de898ff42912bd7ca1bfb099cd439562496765a4",
      "tree": "849b591a99a7e6a8fd790aedca3afff6f6b6eade",
      "parents": [
        "05f79758cd2688f89444a38baba326a0a1c1a438"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Jan 29 18:20:45 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Mar 25 12:09:56 2014 -0700"
      },
      "message": "Shared library resource support\n\nShared libraries can now export resources for applications\nto use.\n\nExporting resources works the same way the framework exports\nresources, by defining the public symbols in res/values/public.xml.\n\nBuilding a shared library requires aapt to be invoked with the\n--shared-lib option. Shared libraries will be assigned a package\nID of 0x00 at build-time. At runtime, all loaded shared libraries\nwill be assigned a new package ID.\n\nCurrently, shared libraries should not import other shared libraries,\nas those dependencies will not be loaded at runtime.\n\nAt runtime, reflection is used to update the package ID of resource\nsymbols in the shared library\u0027s R class file. The package name of\nthe R class file is assumed to be the same as the shared library\u0027s\npackage name declared in its manifest. This will be customizable in\na future commit.\n\nSee /tests/SharedLibrary/ for examples of a shared library and its\nclient.\n\nBug:12724178\nChange-Id: I60c0cb8ab87849f8f8a1a13431562fe8603020a7\n"
    },
    {
      "commit": "ce5abb0a5542a0dae00a2af3b174d83cdd85a21f",
      "tree": "9665772dc632b7680ff83d1e5707e3973b551be6",
      "parents": [
        "5d122d96a5bf3bbaccaca2765b45716efe7ee2ef"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 15 11:37:01 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 15 11:37:01 2013 -0700"
      },
      "message": "Improve/flesh-out shared library version check.\n\nChange-Id: I3d6eb19c8aeaae07a6d17de81ac707c7741608fb\n"
    },
    {
      "commit": "c895be7bc68b6f5b37fbb9881f464dd5ea0eb017",
      "tree": "fe7ba171c41d3df63b595adaf46a67ace2a7d7d3",
      "parents": [
        "9725d80adc7426ea20f3a193fc81dc1e8b8c4b31"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Mar 11 17:48:43 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 12 12:51:38 2013 -0700"
      },
      "message": "Implement limited shared libraries in apks.\n\nYou can now declare shared libraries in apks that are\non the system image.  This is like the existing mechanism\nof using raw jar files as shared libraries, but since they\nare contained in an apk the library can actually be updated\nfrom the Play Store.  And this even (mostly) works.\n\nThere are some deliberate limitations on this feature.  A\nnew shared library *must* be declared by an apk on the system\nimage.  Installing an update to a system image apk does not\nallow you to add new shared libraries; they must be defined\nby everything on the base system image.  This allows us to\nget rid of a lot of ugly edge cases (shared libraries that were\nthere disappearing after an update is uninstalled for example)\nand give some brakes on apps that happen to be pre-installed\non devices from being able to throw in new shared libraries\nafter the fact.\n\nIn working on this, I ran into a recently introduced bug where\nuninstalling updated to system apps would fail.  This was done\nto allow for the new restricted users that don\u0027t have all\nsystem apps, but conflicts with the existing semantics for\nuninstalling system apps.  To fix this I added a new uninstall\nflag that lets you switch on the new mode if desired.\n\nAlso to implement the desired logic for limitations on declaring\nnew shared libraries in app updates, I needed to slightly tweak\nthe initial boot to keep the Package object for hidden system\npackages associated with their PackageSetting, so we can look at\nit to determine which shared libraries are allowed.  I think\nthis is probably more right than it was before -- we already\nneed to parse the package anyway, so we have it, and when you\ninstall an update to a system app we are in this same state\nuntil you reboot anyway.\n\nAnd having this fixed also allowed me to fix another bug where\nwe wouldn\u0027t grant a new permission to an updated app if its\nsystem image version is updated to request the permission but\nits version is still older than whatever is currently installed\nas an update.  So that\u0027s good.\n\nAlso add new sample code showing the implementation of an apk\nshared library and a client app using it.\n\nChange-Id: I8ccca8f3c3bffd036c5968e22bd7f8a73e69be22\n"
    }
  ]
}
