summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-06-01Keep InstrumentationTestCase in main dexYohann Roussel
am: b68f891c88 Change-Id: Ie4f2481b94252cde75b05898352e559619f27c7b
2017-05-30Allow multidex of instrumentationsandroid-o-preview-3Yohann Roussel
Allow installation of instrumentation secondary dex files. Both the instrumentation and the instrumented application are installed (if necessary) by MultiDex.installInstrumentation. Instrumentation secondary dex files are extracted in the Application code cache folder because it generally doesn't have access to its own folder. Instrumentation preferences are saved in the Application preferences with a prefix. Bug: 31383194 Test: frameworks/base/core/tests/hosttests/test-apps/MultiDexLegacy* Change-Id: I705ed87162326fd64128454aa144a359b09436cd
2017-05-30Keep InstrumentationTestCase in main dexYohann Roussel
They must be in main dex or InstrumentationTestRunner won't find them. Bug: 31383194 Test: frameworks/base/core/tests/hosttests/test-apps/MultiDex* Change-Id: I76ea9e9f46fa95f6a1f2d35410480be42f7a5151
2017-05-10Revert "Prepare for removal of junit and android.test classes from Android ↵Paul Duffin
API (step 1)" am: 031b913e17 am: 3173cc34c7 am: 9ea489ac77 am: 4406105ad1 Change-Id: Ia57d62e20c7dc192c4a583021e6afc9a53cb1e90
2017-05-10Revert "Prepare for removal of junit and android.test classes from Android ↵Paul Duffin
API (step 1)" am: 031b913e17 am: 3173cc34c7 am: 9ea489ac77 Change-Id: I433fcb87accb5bc3bfb6926befa34027e67dfe4f
2017-05-10Revert "Prepare for removal of junit and android.test classes from Android ↵Paul Duffin
API (step 1)" am: 031b913e17 am: 3173cc34c7 Change-Id: I47886fa141b68b021c036715760132b607509881
2017-05-10Revert "Prepare for removal of junit and android.test classes from Android ↵Paul Duffin
API (step 1)" am: 031b913e17 Change-Id: Ic8b5c9cecc387023bc0805f043fc02bf9850e144
2017-05-10Revert "Prepare for removal of junit and android.test classes from Android ↵android-n-iot-preview-4n-iot-preview-4Paul Duffin
API (step 1)" This reverts commit 49f3d944cf2413562ae5032b8dfc2c39955c6bf7. Change-Id: Ibf7153a117b997b473e861503669d4cd5e8e2984
2017-05-05Remove VERSION AndroidManifest meta-tag.Aurimas Liutikas
These is a conflict when using this meta tag together with Android Support Library as it specifies a different version. Bug: 38037855 Test: ./gradlew dist Change-Id: If23423bcbf93a4cd4a0b5e3a5593d1f563756933
2017-05-03Prepare for removal of junit and android.test classes from Android API (step ↵Paul Duffin
1) am: 49f3d944cf am: 8c2d2db0e3 am: 49cff4d6d9 am: eaeb6e4c29 Change-Id: I4f4ce2e70d6d22825f17b5436d89891a9fc7381f
2017-05-03Prepare for removal of junit and android.test classes from Android API (step ↵Paul Duffin
1) am: 49f3d944cf am: 8c2d2db0e3 am: 49cff4d6d9 Change-Id: Ief63a0d2759860129bc140bad1e55d878f4b1240
2017-05-03Prepare for removal of junit and android.test classes from Android API (step ↵Paul Duffin
1) am: 49f3d944cf am: 8c2d2db0e3 Change-Id: I92e048d574e3a2b638d33ceee46c979398859791
2017-05-03Prepare for removal of junit and android.test classes from Android API (step 1)Paul Duffin
am: 49f3d944cf Change-Id: I4d68161e66b04863775fe245bc5f1dba5025b799
2017-05-03Prepare for removal of junit and android.test classes from Android API (step 1)android-wear-o-preview-4android-wear-o-preview-3android-o-preview-2Paul Duffin
In preparation for removing junit and android.test classes from the Android API this change adds explicit dependencies on junit and/or legacy-android-test to ensure that modules will compile properly once it is removed. Care was taken to ensure that any targets that depended, directly or indirectly, on android-support-test did not also depend on junit or hamcrest as they conflict with the versions embedded within android-support-test. Bug: 30188076 Test: make checkbuild Change-Id: If3c3566dd730a0df046ba1733bf8a20b29c9e335
2017-05-01Fix multidex artifactId.Aurimas Liutikas
In ag/1971845 we accidentally changed artifactId of multidex and multidex-instrumentation to support-multidex and support-multidex-instrumentation. This change undoes that change. Bug: 36122649 Test: ./gradle clean dist now produces correct repo zip Change-Id: I110446366250315be0d04929b333d47c3fba0d2c
2017-05-01Merge "Update multidex dist task to build and zip maven repository instead ↵Aurimas Liutikas
of just aar."
2017-04-28Update multidex dist task to build and zip maven repository instead of just aar.Aurimas Liutikas
Bug: 36122649 Test: ./gradlew clean dist Change-Id: Ia7ace388ba72abff4a167552628b892cae024f7c
2017-04-26A whitespace change to kick off a builder.Aurimas Liutikas
This change will trigger ub-multidex-master to start building for the first time. Change-Id: I1b3bb509b25a63311fa70aae28fb2d2b2ab9c69d
2017-03-22Mark MultiDexTestRunner as deprecated am: 93728d8ae0 am: 668b6077deandroid-vts-8.0_r9android-vts-8.0_r8android-vts-8.0_r7android-vts-8.0_r6android-vts-8.0_r2android-vts-8.0_r13android-vts-8.0_r12android-vts-8.0_r11android-vts-8.0_r10android-vts-8.0_r1android-security-8.0.0_r54android-security-8.0.0_r53android-security-8.0.0_r52android-cts-8.0_r9android-cts-8.0_r8android-cts-8.0_r7android-cts-8.0_r6android-cts-8.0_r5android-cts-8.0_r4android-cts-8.0_r3android-cts-8.0_r26android-cts-8.0_r25android-cts-8.0_r24android-cts-8.0_r23android-cts-8.0_r22android-cts-8.0_r21android-cts-8.0_r20android-cts-8.0_r2android-cts-8.0_r19android-cts-8.0_r18android-cts-8.0_r17android-cts-8.0_r16android-cts-8.0_r15android-cts-8.0_r14android-cts-8.0_r13android-cts-8.0_r12android-cts-8.0_r11android-cts-8.0_r10android-cts-8.0_r1android-8.0.0_r9android-8.0.0_r7android-8.0.0_r51android-8.0.0_r50android-8.0.0_r49android-8.0.0_r48android-8.0.0_r47android-8.0.0_r46android-8.0.0_r45android-8.0.0_r44android-8.0.0_r43android-8.0.0_r42android-8.0.0_r41android-8.0.0_r40android-8.0.0_r4android-8.0.0_r39android-8.0.0_r38android-8.0.0_r37android-8.0.0_r36android-8.0.0_r35android-8.0.0_r32android-8.0.0_r31android-8.0.0_r30android-8.0.0_r3android-8.0.0_r29android-8.0.0_r28android-8.0.0_r2android-8.0.0_r17android-8.0.0_r16android-8.0.0_r15android-8.0.0_r13android-8.0.0_r12android-8.0.0_r11android-8.0.0_r10android-8.0.0_r1security-oc-releaseoreo-vts-releaseoreo-security-releaseoreo-releaseoreo-r6-releaseoreo-r5-releaseoreo-r4-releaseoreo-r3-releaseoreo-r2-releaseoreo-devoreo-cts-releaseYohann Roussel
am: 5ccdd930f0 Change-Id: I1352525730454a258b6cd5a51c2577c7db665944
2017-03-22Mark MultiDexTestRunner as deprecated am: 93728d8ae0Yohann Roussel
am: 668b6077de Change-Id: Ic9a989e69350b0e8414537aeb2003ba1847a6dec
2017-03-22Mark MultiDexTestRunner as deprecatedYohann Roussel
am: 93728d8ae0 Change-Id: I1415b75446e18bfd1bf19a5646cad40adde040db
2017-03-10Clean up multidex gradle build, bump version to 1.0.2 for releaseAlan Viverette
Bug: 36122649 Test: ./gradlew dist test connectedAndroidTest Change-Id: I79578f683146a3ea16521cd090d113698a14c5f5
2017-02-27Mark MultiDexTestRunner as deprecatedYohann Roussel
Bug: 35796382 Test: N/A Change-Id: I7a36e9223b010a04a1d2ea28914d0b502dd7f61e
2017-01-23Check crc and time of secondary dex files am: 9958145a97 am: 20f0cdc308 am: ↵Yohann Roussel
2422a2eb3d am: 4a2df94e21 Change-Id: Id89f28382eb25d81dce26edcc2e3a12fe6e0238d
2017-01-23Check crc and time of secondary dex files am: 9958145a97 am: 20f0cdc308Yohann Roussel
am: 2422a2eb3d Change-Id: Ied383048c8cc3b94d0fe33628cb39ff9eb71b4ed
2017-01-23Check crc and time of secondary dex files am: 9958145a97Yohann Roussel
am: 20f0cdc308 Change-Id: I7d84966360e8283d7b24c6009f5fd79ed2dbc5b5
2017-01-23Check crc and time of secondary dex filesYohann Roussel
am: 9958145a97 Change-Id: Iac3e4fef6a30d8085ab29609df92e0cca1800da0
2017-01-23Check extracted dex only once per usage am: fe10f9fd25 am: 8c46dd3b3f am: ↵Yohann Roussel
221296887a am: d3f4428cfd Change-Id: Idc5e7387402151453f3a4ea75300e9c9c892e9b3
2017-01-23Check extracted dex only once per usage am: fe10f9fd25 am: 8c46dd3b3fYohann Roussel
am: 221296887a Change-Id: Ica275e0ae0c3dd2d3efa9ca3f75fd5b95f220ccd
2017-01-23Check extracted dex only once per usage am: fe10f9fd25Yohann Roussel
am: 8c46dd3b3f Change-Id: I914ec257f75aa6b6b84984659fc24445c6d8fe60
2017-01-23Check extracted dex only once per usageYohann Roussel
am: fe10f9fd25 Change-Id: I529bc3ae057f9fef4cb7c64c3e490a773e1ec0c2
2017-01-23Check crc and time of secondary dex filesandroid-o-preview-1android-n-mr2-preview-2o-previewYohann Roussel
Protect extracted dex files from modifications by checking their crc and modification time. In case of change, proceed to a new extraction. Those checks are replacing the check of the zip integrity by opening it with a ZipFile. Test: SupportMultidexHostTest (from tradefed) Bug: 32159214 Change-Id: I09aa01550782f5f550bee6fc91709455e82c1057
2017-01-20Mark extracted dex files as read only am: f5832474eb am: 45e77758d4 am: ↵Yohann Roussel
4207787110 am: 1aad735e08 Change-Id: I4d6975d40e63b713e23ad143f3b2462a98fecb14
2017-01-20Mark extracted dex files as read only am: f5832474eb am: 45e77758d4Yohann Roussel
am: 4207787110 Change-Id: I7a7c3174d6264a8b788e2a08eacf378b78abd24b
2017-01-20Mark extracted dex files as read only am: f5832474ebYohann Roussel
am: 45e77758d4 Change-Id: I5eaa02b87dfbd14ab11d1c9be18b8768e8e5523f
2017-01-20Mark extracted dex files as read onlyYohann Roussel
am: f5832474eb Change-Id: I16b9a24cec6cde11714f4df2032324045996cd39
2017-01-20Check extracted dex only once per usageYohann Roussel
The check is unnecessary in MultiDex.install because it was already done by MultiDexExtractor.load. The retry on bad extraction is also included in MultiDexExtractor.load so it was redundant too. Test: SupportMultidexHostTest (from tradefed) Change-Id: I877a99db0e0c562ac47a7c5c87d7f3e1d70884e6
2017-01-20Mark extracted dex files as read onlyYohann Roussel
This is a poor protection from some attack against application that would be made to overwrite their extracted secondary dex files. The protection is poor because marking the dex files read only will protect only some applications depending on their implementation. Test: MultiDexLegacyVersionedTestApp Bug: 32159214 Change-Id: I88c6fc72284f4e0b832dc4d840c9c636a1234638
2017-01-13Merge "Prefix temp files to ensure they are cleaned up" am: b504c8f1b2 am: ↵Justin Morey
d288c44654 am: 0b80313260 am: 708a59cce4 Change-Id: I5360a7f9e03f4eb47c288bd19a62c315973f6398
2017-01-13Use context.getApplicationInfo() am: 87738871b5 am: b703c32e27 am: 7bf8f6f48fJon Noack
am: 5504711f87 Change-Id: Ib530e83309aae0a0a0c054dc2e8879c0ca7c22f3
2017-01-13Merge "Prefix temp files to ensure they are cleaned up" am: b504c8f1b2 am: ↵Justin Morey
d288c44654 am: 0b80313260 Change-Id: I0d5772c4ce26e9f1b3c7b8d517ed962345cfcf02
2017-01-13Use context.getApplicationInfo() am: 87738871b5 am: b703c32e27Jon Noack
am: 7bf8f6f48f Change-Id: I05979b27ded1989f5f8cef3e8a9f503e590d1c72
2017-01-13Merge "Prefix temp files to ensure they are cleaned up" am: b504c8f1b2Justin Morey
am: d288c44654 Change-Id: If625dc1bae06d2f8fc0e8203c984df1db2f537e7
2017-01-13Use context.getApplicationInfo() am: 87738871b5Jon Noack
am: b703c32e27 Change-Id: I480aed8ab0808015d14ef114f20eb0004bc35ada
2017-01-13Merge "Prefix temp files to ensure they are cleaned up"Justin Morey
am: b504c8f1b2 Change-Id: I97e7c14ab15cf0af6e61410ea26164447300297b
2017-01-13Use context.getApplicationInfo()Jon Noack
am: 87738871b5 Change-Id: Ia0fe8f8b038b38cb58906727a4f79b8a32ec5298
2017-01-13Merge "Prefix temp files to ensure they are cleaned up"Justin Morey
2017-01-13Use context.getApplicationInfo()Jon Noack
Due to package install races it is possible for a process to be started from an old apk even though that apk has been replaced. Querying for ApplicationInfo by package name may return information for the new apk, leading to a runtime with the old main dex file and new secondary dex files. This leads to various problems like ClassNotFoundExceptions. Using context.getApplicationInfo() should result in the process having a consistent view of the world (even if it is of the old world). The package install races are eventually resolved and old processes are killed. Test: Passes Google Play services tests Change-Id: I95257d851eb678c55a19e731183f7add2b540615
2017-01-13Prefix temp files to ensure they are cleaned upJon Noack
Temp files are removed unconditionally in a finally block following extraction. However, if the process is killed during extraction this finally block will not run. Because temp files started with extractedFilePrefix, they wouldn't be cleaned up in prepareDexDir(). This change ensures that prepareDexDir() will remove any existing temp files before extraction begins. Bug: 27769642 Bug: 33718827 Test: Passes Google Play services tests Change-Id: I803ba2c7234801551d36cbbe2941eeaa986d31f8
2017-01-12Use context.getApplicationInfo()Jon Noack
Due to package install races it is possible for a process to be started from an old apk even though that apk has been replaced. Querying for ApplicationInfo by package name may return information for the new apk, leading to a runtime with the old main dex file and new secondary dex files. This leads to various problems like ClassNotFoundExceptions. Using context.getApplicationInfo() should result in the process having a consistent view of the world (even if it is of the old world). The package install races are eventually resolved and old processes are killed. Test: Passes Google Play services tests Change-Id: I95257d851eb678c55a19e731183f7add2b540615