On Lollipop with ART, the directory "/system/framework/" is not a definitive list of frameworks. The "arm(64)?/" sub-directory has the "boot.oat" file, which will have the remaining frameworks.
As it is now, getframeworks will pull everything from "/system/framework/", and unframework is responsible for doing the extraction of the OAT files from "boot.oat", but it does this to the "unframework/" directory.
frameworkdb relies on the *.jar files in the "frameworks/" directory, but this isn't really a good approach, since things like "framework2" do not have a JAR for ART.
There needs to be a operation that actually makes changes to the "frameworks/" directory, much like sysappdb oatextract, or frameworkdb needs to have a better approach for generating it's listing.
Affected module(s): getframeworks, unframework, frameworkdb. frameworkdexdb
On Lollipop with ART, the directory "/system/framework/" is not a definitive list of frameworks. The "arm(64)?/" sub-directory has the "boot.oat" file, which will have the remaining frameworks.
As it is now,
getframeworks
will pull everything from "/system/framework/", andunframework
is responsible for doing the extraction of the OAT files from "boot.oat", but it does this to the "unframework/" directory.frameworkdb
relies on the *.jar files in the "frameworks/" directory, but this isn't really a good approach, since things like "framework2" do not have a JAR for ART.There needs to be a operation that actually makes changes to the "frameworks/" directory, much like
sysappdb oatextract
, orframeworkdb
needs to have a better approach for generating it's listing.