• Home
  • History
  • Annotate
  • only in /frameworks/multidex/library/src/
History log of /frameworks/multidex/library/src/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
02290864de23cf5d941ba3b18ee5029150322107 28-Nov-2014 Yohann Roussel <yroussel@google.com> Workaround mkdirs concurency problems

Use only mkdir since our usage is a simple case.

Bug: https://code.google.com/p/android/issues/detail?id=79388

(cherry picked from commit 8c2abf7f471b061b737e700af711e9d5d6883b40)

Change-Id: I0ddb054e73f12a212b411a906676b1843079a505
ndroid/support/multidex/MultiDexExtractor.java
7dfb545d0f92125162ba2bacdfa1b96e88d06886 17-Sep-2014 Yohann Roussel <yroussel@google.com> Express a clearer status about supported versions.

By explaining the full story in README.txt.
By inlining API 11 constants so we can really compile the library against API 4.

(cherry picked from commit e99daea7a3aec5ffac13b4283685e8d2a5994ad9)
Bug: 18112662

Change-Id: I03a4d5f773bebbe09fcde04a340bdf8abfdbc068
ndroid/support/multidex/MultiDexExtractor.java
58f5bb5e72221b538fbcc55eb6c2a2499f8c2488 21-Jul-2014 Yohann Roussel <yroussel@google.com> Use a simulated code-cache for storing extracted files.

This should allow an automatic cleaning when updating to L without having to
check at each launch.

Bug: 10447095

(cherry picked from commit 590a07e63868f0a1da311ff22b4a9f35eb48a865)

Change-Id: I90b80c0c196b5da2b63bced30b2ba5e93ecb594a
ndroid/support/multidex/MultiDex.java
ndroid/support/multidex/MultiDexExtractor.java
d79604bd38c101b54e41745f85ddc2e04d978af2 08-Jul-2014 Yohann Roussel <yroussel@google.com> Clear old secondary dex dir when multidex becomes supported.

There may be a need for clearing those unused extracted files after an OTA
bringing Art L on the device.

Bug: 10447095

Change-Id: I80b9c0afa2bd8dfa0cf04e96fb04ba2527da0fe5
ndroid/support/multidex/MultiDex.java
ndroid/support/multidex/MultiDexExtractor.java
7b86f7e21c70ac06129c05ed137e585a308c6fd1 22-Apr-2014 Yohann Roussel <yroussel@google.com> Deactivate the library if vm version is 2.1 or newer.

It was decided that it would be the revision of multidex native support and
that it is the criterion that should be used to discriminate between VMs
capable of multidex and others.

Bug 14238145.

See bug 10447095 for discussions about the deactivation criterion.

Change-Id: I50922972d1d5b3019a111d5a1b4f2f18af9713ed
ndroid/support/multidex/MultiDex.java
5bb7b0d3c370c0fb43ae5ce77d4ec328970db697 24-Apr-2014 Yohann Roussel <yroussel@google.com> Merge "Fix some javadoc in MultiDex."
1389a05bbd3abcfa37ff85851ec540896e0b07db 22-Apr-2014 Justin Morey <jmorey@google.com> Allow MultiDex support library to work in API 20 (KKWT)

The class loader is the same in KK (API 19) & KKWT (API 20), so only
a version bump was needed.

Change-Id: Ib5112e60c9a54ed042e9c71b075ecb5302c1b717
(cherry picked from commit b420940060dbce01a861760d5830416d0e9bb802)
ndroid/support/multidex/MultiDex.java
dd3cc22f2fbc8ea4dd5fa88978dc8d1ae5034bd9 22-Apr-2014 Yohann Roussel <yroussel@google.com> Fix some javadoc in MultiDex.

Change-Id: I0600b6f75005881c549150ea2e0b18800747bf73
ndroid/support/multidex/MultiDex.java
602c6ca8cae4718ba8ff9f65e53305d002479359 28-Mar-2014 Yohann Roussel <yroussel@google.com> Change update detection to reduce load time.

Reduces load time if extraction was already made. It appeared that
new ZipFile was really slow because it's preparing much things as
soon as it's instanciated.

The new criteria consist of the last modified time of the apk plus
the crc of the apk's central directory, last modified time should
be enough for nearly all modifications and the crc is here to try
to handle an OTA mixing with dates.

The transition from old criteria to new should be good: since there
will be no stored values they would be detected as a new installation.

Change-Id: Id390b77b03d794b8b7feb91eb0daae1126c6d691
ndroid/support/multidex/MultiDex.java
ndroid/support/multidex/MultiDexExtractor.java
ndroid/support/multidex/ZipUtil.java
944f06dfa36a84ef5514f1f1046c6a91036fb0c7 27-Feb-2014 Yohann Roussel <yroussel@google.com> Merge "Provide a default multidex capable Application."
1bb1ab007f6b9405227ea4ce07d2061e4dbb6fe0 23-Jan-2014 Yohann Roussel <yroussel@google.com> Provide a default multidex capable Application.

Multidex installation in Application.attachBaseContext()
requires only one call point to MultiDex.install() per Application
so let's provide a default multidex capable Application.

Change-Id: Icfa1993c4b3d7c5a7d1783d4ca6d5b9ea31adb8b
ndroid/support/multidex/MultiDexApplication.java
782d200657395c38250df7a57b935bf522bc9acc 28-Jan-2014 Yohann Roussel <yroussel@google.com> Fix crc comparison in multidex installation.

The bug was caused by a comparison of Long instances instead of long
values and was leading to the library always detecting that the
secondary dex files needed a fresh exctraction.

bug 12776578

Change-Id: Ia7056a130cf6e99094e4f456b086e141c1255725
ndroid/support/multidex/MultiDexExtractor.java
994fa84b3af07700fd5dcd477c02a6bd824dde45 17-Jan-2014 Maurice Chu <mochu@google.com> Remove the check for source apk file size

The file deletion when finding that the source apk file size
was different than what was stored in SharedPreferences causes a race
condition when multiple processes are executing this code, where one
process could erase the secondary zip file while a different process had
already started to create the zip file. This check is unnecessary and
has been removed.

Also, changed the parameter for getting the SharedPreferences to
Context.MODE_MULTI_PROCESS, which forces a re-read of the key/value
pairs from the file.

This should also fix the original bug b/12550057.

Bug: 12594955
Bug: 12550057
Change-Id: I53f4bca0d03a5737d802509274520a78effcf228
ndroid/support/multidex/MultiDexExtractor.java
7e267a38525afac2a571da186e770a2b86a01846 16-Jan-2014 Maurice Chu <mochu@google.com> Check whether to extract secondary dex files based on apk size and CRC

This addresses an edge case where the secondary dex is not reloaded
when it should because of an OTA due to the modification time of the
PrebuiltGmsCore.apk in the system image is never different even though
PrebuiltGmsCore.apk may have changed in the OTA. This performs two
checks, the first is that the overall size of the apk is the same.
The second is to check that the number of dex files are the same, and
the CRC values of the dex file zip entries are the same.

Bug: 12550057
Change-Id: I526f6b88cfc7957840b0c35aaad0eab0cd776f7e
ndroid/support/multidex/MultiDex.java
ndroid/support/multidex/MultiDexExtractor.java
cc63eda4e6defe6b0dd5dd3c8fa608cf6ff26011 03-Dec-2013 Maurice Chu <mochu@google.com> Add additional check for valid Zip file before multidex install

Bug: 11895788
Change-Id: Id4f6e5b09be809eeb29367bebe78c03e49864cbf
ndroid/support/multidex/MultiDex.java
ndroid/support/multidex/MultiDexExtractor.java
88117c37e2c3f8601f295b74a3e804877afb78ee 28-Nov-2013 Yohann Roussel <yroussel@google.com> Add log to identify the source of the zip corruption.

This CL is to be reverted when debug is done.

Change-Id: I47f2464a4b32affe2d63f874a1df3f8f24e569d5
ndroid/support/multidex/MultiDex.java
ndroid/support/multidex/MultiDexExtractor.java
a159fd5dbd60171c9bb602f316ad8272419afe40 28-Nov-2013 Maurice Chu <mochu@google.com> Buffer the file output stream

Also, removed the file locking which had no effect.

Bug: 11895788
Change-Id: I8b520fff9496f289eba88690b3b583f9c43b932c
ndroid/support/multidex/MultiDexExtractor.java
a0c1a85f60a44ef1c0592821270c20e988c64370 28-Nov-2013 Maurice Chu <mochu@google.com> Make file lock before renaming zip file

Change-Id: I548dd046f89d937f974cb5a925de70c7ecfad7a4
ndroid/support/multidex/MultiDexExtractor.java
48cd040f1cf11d716f909f28ee237df6699a0f3b 28-Nov-2013 Maurice Chu <mochu@google.com> Remove computation of sha1 of zip file

This would spin up a lot of code to compute this and is
not something we want to do in every process that GMS Core
runs in. Return zip file length to have some data about the
file.

Change-Id: Ibb22c54a6d8ef33c690fd35f2b69c427449ef5d1
ndroid/support/multidex/MultiDexExtractor.java
f6d1f23926672c8dd61da515f8d1bcb37ef4292d 27-Nov-2013 Maurice Chu <mochu@google.com> Verify secondary dex zip file is a zip file and retry

Also, print out the SHA1 digest of the zip file for all
attempts at extracting the zip file.

Bug: 11895788
Change-Id: I4170c2362aa8370fd13bc7bed62f2e6eb3223768
ndroid/support/multidex/MultiDexExtractor.java
52eafa01b1e61e410cb4c5609eacee93c2a3e853 21-Nov-2013 Yohann Roussel <yroussel@google.com> Minor cleaning in the code and comment.

- Remove 2 unused method arguments.
- Fix a bad copy paste of a comment.
- Remove a useless if.

Change-Id: I1b88b91e38cbe3c024207113f1c4a7bdc052e514
ndroid/support/multidex/MultiDex.java
ndroid/support/multidex/MultiDexExtractor.java
1f8c349b6524aa39a10a570115ce0afb039bd06f 21-Nov-2013 Maurice Chu <mochu@google.com> Fix creation of zip file for multi-dex

Bug: 11791202
Change-Id: Ib8f97f11287a59db0ec119a1d55913aa8df3ce33
ndroid/support/multidex/MultiDexExtractor.java
66f379f774e06e650375750d18b1695ddb853371 15-Nov-2013 Maurice Chu <mochu@google.com> Update mZips field in classloader for GB

This enables mockito tests to also run.

Bug: 11709435
Change-Id: I9ebc5f5441a396c12eb8cde554d69a003fa6e7ad
ndroid/support/multidex/MultiDex.java
4be173048a01fb57f3c26b85fbff3c2bcf9a1267 13-Nov-2013 Yohann Roussel <yroussel@google.com> Merge "Control modTime of extracted files."
d9eda5550540306f2037e2db2aba2919fda90057 12-Nov-2013 Yohann Roussel <yroussel@google.com> Control modTime of extracted files.

And use it to clean more accuratly old extracted files.

Fix bug 11232823

Change-Id: I23678ae07a8df955276ece7b8c0cdddef907992b
ndroid/support/multidex/MultiDexExtractor.java
edf0717d4203bd7e9c9435019e3c256d564b4583 12-Nov-2013 Yohann Roussel <yroussel@google.com> Keep time extracted entry to avoid multiple dexopt.

Fix bug 11415819

Change-Id: I1a1300f430f0db7b587e2f29c273884ef80f7fbe
ndroid/support/multidex/MultiDexExtractor.java
aeef2844e435c6cb01741cbb169a593b4afebed0 08-Nov-2013 Yohann Roussel <yroussel@google.com> Restore SDK eclipse projects.

Change-Id: I0571445e464ab74ffcb4e972159a2a7cf805f613
readme
667f9a8a8155c41970a83be1414b57b5e37de336 16-Oct-2013 Maurice Chu <mochu@google.com> Initial move of code from frameworks/support/multidex to here

Also,
- Removed extraneous Eclipse-specific configuration files that are
unnecessary in the Android build tree
- Includes the patch to support API level 19 from
https://googleplex-android-review.git.corp.google.com/#/c/348129
- Checks for null and returns without patching the classloader when
getting the package manager or package name from the passed in Context
to MultiDex.install(...) since the Context object is probably a mock
context for testing.
- Moved the test runners to package com.android.test.runner, which seems
to be the standard place for all test runners.

Bug: 10674263
Change-Id: Idc894b360bd17db4acb50dd7daa2839ea8ea37e0
ndroid/support/multidex/MultiDex.java
ndroid/support/multidex/MultiDexExtractor.java