ff193d642eea7128faad837d19e347cd25212c27 |
|
01-Oct-2014 |
Dmitriy Ivanov <dimitry@google.com> |
Load libraries directly from apk Introduced new 'extractNativeLibs' attribute to manifest/application. Setting it to false prevents installer from extracting library from apk. The default value for extractNativeLibs is true. Bug: 8076853 Change-Id: I1aa2c039bb2a590ae72f256acc9ba5401c2c59b1
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
941a8ba1a6043cf84a7bf622e44a0b4f7abd0178 |
|
21-Aug-2014 |
Jeff Sharkey <jsharkey@android.com> |
Installing splits into ASECs! Sessions can now zero-copy data directly into pre-allocated ASEC containers. Then at commit time, we compute the total size of the final app, including any inherited APKs and unpacked libraries, and resize the container in one step. This supports both brand new ASEC installs and inheriting from existing ASEC installs. To keep things simple, it currently requires copying any inherited ASEC contents, but this could be optimized in the future. Expose new vold resize command, and allow read-write mounting of ASEC containers. Move native library extraction into the installer flow, since it needs to happen before ASEC is sealed. Move multiArch flag into NativeLibraryHelper, instead of making everyone pass it around. Migrate size calculation to shared location. Separate "other" package name in public API, provide a path to a storage device when relevant, and add more docs. Bug: 16514385 Change-Id: I06c6ce588d312ee7e64cce02733895d640b88456
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
bb7b7bea19223c1eba74f525c7fe87ca3911813b |
|
20-Aug-2014 |
Jeff Sharkey <jsharkey@android.com> |
More progress towards split APKs in ASECs. Teach DefaultContainerService to install split APKs, which will be needed when moving to/from ASECs. Also support forward locking for testing purposes, even though its deprecated. Move native library unpacking code to NativeLibraryHelper location where it can be shared by both DCS and PMS. Also update footprint calculation logic to mirror the later unpack codepaths. Immediately persist sealed sessions. When resolving install locations, prefer location of any existing install of that package. Lightweight parse requesting certificates now always verifies that all contents are signed correctly. Bug: 16514385 Change-Id: Ida1c4eb0f95b065104dd971e19126d4085ebf1f0
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
ff110bd61a69f7ed8602ae14b27f7befec76b2e7 |
|
04-Jul-2014 |
Narayan Kamath <narayan@google.com> |
Multi-arch application installs. Each application now has two ABIs, the primary and the secondary. The app is always launched with the primary, but the secondary might be used by other apps that load the given applications code. This implies we must: - dex2oat the app both ways. - extract shared libraries for both abis. The former is relatively straightforward but the latter requires us to change the layout for shared libs that we unpack from applications. The bulk of this change deals with the latter. This change continues to fill in nativeLibraryPath during scans for backwards compatibility. This will be removed in a future patch. Change-Id: Ia943dd11ef815c5cbfc60f17929eaa2a652a385a
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
8d479b0c2ddb150182bcf510876a240cb869661b |
|
08-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Derive library path for upgraded system apps. Bug: 16156270 Change-Id: I368433063ff33d15129c8076ddc6f1e2a0963e54
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
8ffc231d8c2dcdd85a568a3215133df9539c3d43 |
|
08-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Gracefully handle apps without native libraries. Bug: 16148014 Change-Id: Ida23545046387b567744ee520baa4713e8403f30
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
be520fba1e45c77ca20eb66005a0cf19e10939a1 |
|
05-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Teach DCS about cluster packages. For the time being, DCS is going to still be doing heavy lifting for some install tasks, so it need to know how to handle both monolithic and cluster packages. This change is mostly plumbing work to eventually handle any various splits APKs that we may encounter. Bug: 14975160 Change-Id: I39848d5666f9083cb4eca493e5cdaa868f3f99fb
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
73767b9d607d99b3a027619b5c6b7f1a09b7673d |
|
05-Jul-2014 |
Jeff Sharkey <jsharkey@android.com> |
Extract native code from split APKs. In the new split APK world, multiple APKs work together to define a single package. This means that native code may be split among those APKs. To handle this, extend NativeLibraryHelper to examine all APKs in a package ordered by splitName. A package has valid native code as long as one matching ABI is found inside. The "best" ABI found across all APKs is picked for the entire package. No attempt is made to ensure that every native library defined is available for the picked ABI; that's the responsibility of the installer. Re-introduce PackageLite to represent a lightweight parsing of an entire package, which may be a single monolithic APK or a cluster of one or more APKs. Remove native code extraction from InstallerSession, since it'll be handled inside PMS for this release. Bug: 14975160 Change-Id: I4f4db0f82e88a46101c7777499ebc0a11fd911f9
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
cef0b39b9211882f59b6bfe1148e2cd247056693 |
|
12-Jun-2014 |
Narayan Kamath <narayan@google.com> |
Fix native crashes when APKs can't be opened. There was lax / incomplete error checking around the construction of Apk handles. This change changes the ApkHandle API and makes it throw IOException if the zipfile couldn't be opened. Additionally : - Fix a resource leak in DefaultContainerService - Report errors correctly during package moves. bug: 15563874 (cherry picked from commit ec4516470d7ce6e47769591d678c838bd3f6f388) Change-Id: Ia35b464355467d0d36faf34fae85acbbab3f2896
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
d47e38b6342fea93b007319431634a4bcfee452c |
|
16-May-2014 |
Narayan Kamath <narayan@google.com> |
Scan for renderscript files before deciding ABIs. The presence of ".bc" files in an APK implies incompatibility with any of the 64 bit ABIs. bug: 14900093 Change-Id: I66ca339a9a149cb3b7e7b349033d80acdeb4140a
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
1378aba7aeeb7f6dd6cc2503968ba7b0e58d9333 |
|
28-Feb-2014 |
Ramin Zaghi <ramin.zaghi@arm.com> |
Re-implement native library search and copies. We now use a two step approach : - First we look through the list of shared libraries in an APK, and choose an ABI based on the (priority) list of ABIs a given device supports. - Then we look through the list of shared libraries and copy all shared libraries that match the ABI we've selected. This fixes a long-standing bug where we would sometimes copy a mixture of different ABIs to the device, and also allows us to clearly pick an ABI to run an app with. The code in NativeLibraryHelper has been refactored so that all file name validation & matching logic is done in a single place (NativeLibrariesIterator). This allows us to avoid a lot of redundant logic and straightens out a few corner cases (for eg. where the abi determination & copying logic do not agree on what files to skip). bug: https://code.google.com/p/android/issues/detail?id=65053 bug: 13647418 Change-Id: I34d08353f24115b0f6b800a7eda3ac427fa25fef Co-Authored-By: Zhenghua Wang <zhenghua.wang0923@gmail.com> Co-Authored-By: Ramin Zaghi <ramin.zaghi@arm.com> Co-Authored-By: Narayan Kamath <narayan@google.com>
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
1ebd74acf9977daa42133507e970dab88e08f0ef |
|
04-Aug-2011 |
Kenny Root <kroot@google.com> |
Better error codes for missing files Make sure that files that don't exist aren't returning bogus 'out of space' error codes. Add some Javadoc so I can remember what each thing does in an IDE. Add copyright header to NativeLibraryHelper Bug: 3375299 Change-Id: Iac46019160921daca65b21d38897e5165063316e
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
66269ea6f68f2f25888ce1080c94ac782742fafc |
|
12-Jul-2011 |
Kenny Root <kroot@google.com> |
Move extract native libraries to JNI code The built-in ZipFile class was quite a long time to find an unpack libraries. Move everything to using the libutils ZipFileRO class that goes quite a bit faster. Initial measurements are 6 times faster than the Java code. Also, read files off the disk and compare their CRC against the APK's CRC to see if we need to write the new file to disk. This also cuts down the bootup time by up to a second per APK that has native files. Change-Id: Ic464a7969a17368fb6a6b81d026888c4136c7603
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09 |
|
07-Apr-2011 |
Joe Onorato <joeo@google.com> |
Remove the deprecated things from Config.java. These haven't been working since before 1.0. Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
fd9ddd1a40efc801dc7512950cb9336967b6f775 |
|
04-Nov-2010 |
Brian Carlstrom <bdc@google.com> |
Integrate StrictMode with CloseGuard In additional to adding the StringMode API for controling CloseGuard, this checkin fixes several CloseGuard issues found booting a device. Bug: 3041575 Change-Id: I4dffd184f49438d6d477ed81a1c2a2a5b56cc76b
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
831baa2e2566bf1d243c06918672abd5ff786105 |
|
05-Oct-2010 |
Kenny Root <kroot@google.com> |
Remove lingering system app native libs in /data If a system app had a lingering native library in /data/data/<app>/lib, it would prefer that over the one in /system/lib due to recent changed in the Dalvik JNI class loading code. To "fix" that we need to check if there are any native libraries in a /data/data/<app>/lib directory for any non-updated system apps and delete them during scanning. Change-Id: If3a22e41a8531e9e5a44ba001dcea46253d47d45
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
e6da118ebfa2574da7a635158178b768f3a226e1 |
|
30-Sep-2010 |
Kenny Root <kroot@google.com> |
Fix location of gdbserver upon installation Change-Id: Ie97f10456e5639e008abf4792a01b966b97721e7
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
8f7cc02c7c4bd542376648dbd54be3ceb8521f73 |
|
12-Sep-2010 |
Kenny Root <kroot@google.com> |
Move native library removal function to helper Moves the remoteNativeLibrariesLI call to NativeLibraryHelper to prepare for being able to symlink the /data/data/<package>/lib dir to the ASEC container. Change-Id: Ie3648509c6b6293a8d9bdd815610ab408df5047f
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|
85387d7ba36e56b291cbde87acb5a5b2200fe01c |
|
26-Aug-2010 |
Kenny Root <kroot@google.com> |
Allow native shared libraries in ASEC containers This change moves the native library handling earlier in the package installation process so that it may be inserted into ASEC containers before they are finalized in the DefaultContainerService. Note that native libraries on SD card requires that vold mount ASEC containers without the "noexec" flag on the mount point. Change-Id: Ib34b1886bf6f94b99bb7b3781db6e9b5a58807ba
/frameworks/base/core/java/com/android/internal/content/NativeLibraryHelper.java
|