move dexing to WorkerExecutor.

provide ability to run wit the WorkerExecutor as well as plain old Executor.
remove the double locking effect of locking the file cache when dexing which
lead to numerous deadlocks. Provide only one level of multiplexing by sharding
all .jar files and folders and further bucketizing into 5 shards.

Test: adapted existing unit tests, added new ones for new code.

Change-Id: Icc60a18fd6850ab10bddb297fe7754f81f53809c
1 file changed
tree: b61cf9789bd2990b23485a4b75510ff8468bf6af
  1. src/
  2. apkzlib.iml
  3. BUILD
  4. build.gradle