History log of /libcore/dalvik/src/main/java/dalvik/system/DexClassLoader.java
Revision Date Author Comments
19c3551836aedca51e7e016007efca18d030763b 24-Feb-2016 Dimitry Ivanov <dimitry@google.com> Reduce number of namespace-related fields

This change is related to a change on how to
linker-namespaces initialized. They used to be
initialized on first load of a jni library,
With the related changes to frameworks/base
and art, they are now initialized at the time
of creating the ClassLoader.

This removes necessity of storing namespace
specific fields in DexPathList and in new
constructors for BaseDexClassLoaders.

Bug: http://b/27189432
Bug: http://b/22548808
Change-Id: Icf61e621862609de75e3a3f4caf03a4ea96e6398
(cherry picked from commit 68858c91eb15f183269cbaf2e4116c559aab2622)
68858c91eb15f183269cbaf2e4116c559aab2622 24-Feb-2016 Dimitry Ivanov <dimitry@google.com> Reduce number of namespace-related fields

This change is related to a change on how to
linker-namespaces initialized. They used to be
initialized on first load of a jni library,
With the related changes to frameworks/base
and art, they are now initialized at the time
of creating the ClassLoader.

This removes necessity of storing namespace
specific fields in DexPathList and in new
constructors for BaseDexClassLoaders.

Bug: http://b/27189432
Bug: http://b/22548808
Change-Id: Icf61e621862609de75e3a3f4caf03a4ea96e6398
86cc92ed3ded99ef0b1f6875a8bd885b5ba9c294 15-Dec-2015 Dimitry Ivanov <dimitry@google.com> Use shared namespace for bundled apps

This change adds support of shared namespaces when
creating classloader for bundled apps.

Bug: http://b/22548808
Bug: http://b/26165097
Change-Id: I4b4c89e68d83b57d4a9e462725d8b94b3562afef
(cherry picked from commit d3c9dabf5b57d5e4bd86829e6918e8ec732a523a)
d3c9dabf5b57d5e4bd86829e6918e8ec732a523a 15-Dec-2015 Dimitry Ivanov <dimitry@google.com> Use shared namespace for bundled apps

This change adds support of shared namespaces when
creating classloader for bundled apps.

Bug: http://b/22548808
Bug: http://b/26165097
Change-Id: I4b4c89e68d83b57d4a9e462725d8b94b3562afef
0d99a867450529afeee4e7add3db3701d1069c8c 08-Dec-2015 Dimitry Ivanov <dimitry@google.com> Provide libraryPermittedPath to android runtime

Opening native libraries in isolated namespaces is limited to
the search-path (librarySearchPath). The libraryPermittedPath allows
to expand the list of allowed directories for isolated namespaces.

Bug: http://b/22548808
Bug: http://b/25853516
Change-Id: Id229be7760c3c47b7307452493bbb8bdf3faabb7
(cherry picked from commit a2656629522f9d79e2dca7418ab5963f50d0fda8)
a2656629522f9d79e2dca7418ab5963f50d0fda8 08-Dec-2015 Dimitry Ivanov <dimitry@google.com> Provide libraryPermittedPath to android runtime

Opening native libraries in isolated namespaces is limited to
the search-path (librarySearchPath). The libraryPermittedPath allows
to expand the list of allowed directories for isolated namespaces.

Bug: http://b/22548808
Bug: http://b/25853516
Change-Id: Id229be7760c3c47b7307452493bbb8bdf3faabb7
853da7cb253a9eca68177b43161ba7ca80ec6e26 16-Jul-2014 Jeff Sharkey <jsharkey@android.com> Point developers toward new code cache location.

Bug: 16187224
Change-Id: I95d9c5b6d78c8daece5a91cff8f1b71bd357f8b4
09bb615ce1da5e2e9a99f0a2ebf46beb6f71a7a9 29-Jun-2011 Jesse Wilson <jessewilson@google.com> Use a clear warning in the DexClassLoader docs.

Cherry-pick of I0cc4bb3ec86b1c3c578c548f6fc646bce9e45745
http://b/4609061

Change-Id: I8ef78c4117f67b1b517d4512b28e73533f64645c
ea52753a0f80fcd70acfe9150ecb854511ff38db 10-Feb-2011 Dan Bornstein <danfuzz@android.com> Refactor DexClassLoader and PathClassLoader.

This resulted in the creation of two new classes: DexPathList contains
most of the common functionality, namely managing the two path lists
(dex/resource files and native library directories) plus all the
salient initialization and lookup code. BaseDexClassLoader provides
the ClassLoader API, mostly by making calls to a contained DexPathList
instance. The two original classes just become trivial subclasses
which take different constructor args and make correspondingly
different super() calls in their respective constructors.

I took the opportunity to remove the ability for PathClassLoader to
take directories on the dex/resource list. This functionality hadn't
ever been used, at least not since well before 1.0.

Change-Id: I92ed300417431d0e0ac4c5ecf2f10d6a9b0691c7
7190be77a29ad8f35b044ec591cb2b449f3ea8a1 09-Feb-2011 Dan Bornstein <danfuzz@android.com> Restore the code for optimized file specification.

This bit got removed due to a copy-paste mishap.

Bug: 3439372
Change-Id: If4653ec77bdc9b629ed4f5ba953be3eef6315b97
6044fd95ef201bbdb11c5364581bc20436233321 15-Jan-2011 Dan Bornstein <danfuzz@android.com> Synch up file opening code in PathClassLoader and DexClassLoader.

The version in PathClassLoader was more correct.

Change-Id: I92a205403d33c13378c7f392b835669cb97f6ac4
92e51d7dedadb3e8a605eb00e455faf1e3446a02 17-Dec-2010 Dan Bornstein <danfuzz@android.com> We always wantDex at this point.

So, there was no longer a need to check for it.

Cleaned up some comments and minor code convention violations while
I was in the territory.

Change-Id: I717fa74bad05cdbf02bd4f6d24108196579c451a
b27ce0cf1efee048fa6e4c20bc6b38e4ebad6930 16-Oct-2010 Dan Bornstein <danfuzz@android.com> Clean up the construction-time arrangements.

There was all sorts of code here that pointlessly pushed the bulk of
the constructor operation off to instance methods, which (a) could
cause confusion when there's bona fide trouble -- that is, it's better
to throw in the constructor -- and (b) didn't really help with
efficiency in any realistic scenario -- that is, while the original
code nominally avoided extra work until first use, in practice first
use occurs immediately after construction (and in the same thread,
even).

Now, all the one-time work happens in the constructor, and we get to
avoid asking "am I set up yet?" before doing anything substantive.

While I was in the territory, I also did a bit of more minor code
hygiene maintenance.

Change-Id: I41225d373e3ab481b6bc3da5b74bde89c4fd895e
7365de1056414750d0a7d1fdd26025fd247f0d04 12-Aug-2010 Jesse Wilson <jessewilson@google.com> Sorting imports.

Change-Id: I8347bc625480a1c37a1ed9976193ddfedeb00bbc
80a7fbab52b96c9fd47c72f8987d1babe2cd001d 22-May-2010 Elliott Hughes <enh@google.com> Remove more localized exception messages.

I also accidentally mixed two unrelated changes in here: replacing "".equals
and equals("") with String.isEmpty, and removing some dead code in
org.apache.harmony.luni.util.Util.

Change-Id: I0aaad43290b083085b3095b624caf096de487223
28a1a648d4d092f70cad727ff7d6121c1944a484 19-Mar-2010 Dan Bornstein <danfuzz@android.com> Remove a superfluous declaration (left over from when DexClassLoader was
duplicated from PathClassLoader).

Change-Id: Iaf3e8a5b23df1a8bbf670bf6d6045fffef6c8fcb
bdcf27bb0da833544676b4b717be8a2521cab429 11-Sep-2009 Elliott Hughes <enh@google.com> Comment out debugging output.

The other two copies of this code have this line commented out, and I assume
it's only active here by accident.
adc854b798c1cfe3bfd4c27d68d5cee38ca617da 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
1c0fed63c71ddb230f3b304aac12caffbedf2f21 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
b7926325a1c1a370c84c81db80372f59af240a53 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
dd828f42a5c83b4270d4fbf6fce2da1878f1e84a 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589