Ulya Trafimovich
8edad8f7a3
Preserve <uses-library> order in dexpreopt.config files.
...
Library order is important because it is used to construct class loader
context, which is then written into OAT/ODEX files and chacked against
class loader context constructed by PackageManager on the device. If the
orders are different, dexpreopted code is rejected.
This CL fixes a few problems that caused reordering:
- 'filter' function arguments are swapped so that patterns list comes
first, and the library list second
- JSON representation of class loader context is changed to avoid
unmarshaling it to Go maps, which may reorder keys
- library list is no longer sorted (it's unclear why it was sorted)
Bug: 132357300
Test: lunch cf_x86_64_phone-userdebug && m && launch_cvd \
adb wait-for-device && adb root && adb logcat \
| grep -E 'ClassLoaderContext [a-z ]+ mismatch'
# empty grep output, no errors
Change-Id: Ie76996d497e60da0948f1879d6db589ff3e968a2
2021-02-11 17:09:19 +00:00
..
2020-03-06 16:46:59 -08:00
2021-01-28 17:10:24 +01:00
2021-02-11 10:34:01 +00:00
2019-06-22 13:03:09 -07:00
2020-08-03 15:47:09 +09:00
2021-02-11 08:06:43 +00:00
2020-06-12 21:10:55 -07:00
2020-08-11 01:12:01 +00:00
2020-12-09 16:30:43 +00:00
2020-09-01 10:33:47 +08:00
2021-02-02 17:04:53 -08:00
2020-09-24 14:43:26 +01:00
2020-12-17 11:07:04 +08:00
2020-12-17 01:19:16 +00:00
2020-01-14 17:00:13 -08:00
2020-08-06 18:25:51 +09:00
2020-06-30 12:46:41 -07:00
2020-09-22 18:55:11 +08:00
2021-01-28 14:59:14 +00:00
2021-01-20 22:27:49 +00:00
2021-01-16 22:07:40 +00:00
2019-12-26 16:52:34 -08:00
2021-01-13 19:36:53 -08:00
2021-02-08 10:55:05 -08:00
2020-04-18 21:00:18 -07:00
2021-02-11 17:09:19 +00:00
2021-01-20 18:13:20 +00:00
2020-07-14 15:49:08 +08:00
2021-02-11 17:09:19 +00:00
2020-07-14 15:49:08 +08:00
2020-08-11 01:12:01 +00:00
2020-11-07 01:38:20 +00:00
2020-01-27 22:06:21 +00:00
2020-09-16 22:45:54 +00:00
2020-07-17 15:23:57 -07:00
2020-06-08 16:36:52 -07:00
2020-06-08 16:36:52 -07:00
2019-04-18 11:14:58 -07:00
2019-09-20 12:43:02 -07:00
2019-05-01 16:42:56 +01:00
2020-03-05 20:46:47 +00:00
2019-02-05 00:19:41 -08:00
2021-02-08 10:55:05 -08:00
2019-06-12 21:34:52 +00:00
2019-02-05 00:19:41 -08:00
2018-10-26 23:55:49 -07:00
2021-02-08 10:55:05 -08:00
2018-09-15 10:52:13 -07:00
2020-03-07 11:29:29 -08:00
2020-03-07 11:29:29 -08:00
2020-06-16 16:13:03 +08:00
2019-07-09 08:57:19 +00:00
2020-05-18 09:58:18 +08:00
2020-07-13 14:26:25 -07:00
2020-08-03 15:47:09 +09:00
2019-07-15 17:29:42 +00:00
2020-11-19 09:42:41 -08:00
2019-10-21 09:36:45 +01:00
2020-08-03 15:47:09 +09:00
2020-08-03 15:47:09 +09:00
2019-07-15 17:29:42 +00:00
2021-02-08 10:55:05 -08:00
2020-06-10 17:18:13 -07:00
2020-08-24 23:16:19 +09:00
2020-04-28 10:25:41 +09:00
2020-01-22 00:16:25 +00:00
2021-02-11 10:34:01 +00:00
2021-02-06 08:00:55 +00:00
2019-11-11 15:21:06 -08:00
2019-02-05 00:19:41 -08:00
2018-09-15 10:52:13 -07:00
2019-07-15 17:29:42 +00:00
2019-07-15 17:29:42 +00:00
2020-09-01 10:33:47 +08:00
2020-10-05 10:17:21 -07:00
2019-05-06 16:17:20 +01:00
2021-01-06 20:52:43 -08:00
2020-10-08 16:14:44 -07:00
2019-07-30 22:36:29 -07:00
2021-01-12 15:08:08 -08:00
2020-06-08 16:36:52 -07:00
2020-05-27 19:37:03 -07:00
2019-11-11 09:30:38 -08:00
2019-09-18 16:23:04 +00:00
2020-12-17 00:25:50 +00:00
2019-10-30 14:29:42 +00:00
2021-01-19 16:11:32 -05:00
2019-09-05 14:42:14 -07:00
2019-03-26 23:44:01 +00:00
2018-11-20 15:31:44 +08:00
2020-10-20 05:52:49 +00:00
2020-10-28 01:09:18 +00:00
2019-12-02 17:44:47 +00:00
2019-11-14 09:57:13 -08:00
2020-06-12 21:10:55 -07:00
2020-01-29 18:26:32 +00:00
2020-07-17 15:23:57 -07:00
2020-03-07 11:29:29 -08:00
2020-06-11 22:57:48 +00:00
2020-07-28 15:59:38 -07:00
2020-08-17 19:31:22 +00:00
2020-10-07 21:04:51 +01:00
2021-02-09 07:41:40 -08:00
2020-10-08 19:06:21 +01:00
2021-01-28 14:59:14 +00:00
2020-11-16 15:32:19 -05:00
2020-08-03 15:47:09 +09:00
2020-02-03 19:00:36 +00:00
2020-03-07 11:29:29 -08:00
2019-10-18 18:28:23 +00:00
2021-01-14 18:34:22 +00:00
2019-03-25 13:26:03 -07:00
2019-02-05 00:19:41 -08:00
2021-02-03 17:01:38 -08:00