15545 Commits

Author SHA1 Message Date
Robin Lee
e46e600412 Merge "Assign AID_EVERYONE gid to newly-created processes" 2014-06-04 20:51:55 +00:00
Narayan Kamath
d47e38b634 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
2014-06-03 12:58:35 +01:00
Narayan Kamath
6431d11cd4 Add an --abi argument to "pm install"
This allows callers to force an install to a particular
ABI. This is intended only for testing (and CTS) and is
not meant for usage by the installer package.

Change-Id: Icb1528c0cd35b1aa9323386cb35ff4aaba374fcb
2014-06-03 11:11:47 +01:00
Narayan Kamath
032c5c054c Merge "Log process abis during start." 2014-06-03 09:57:03 +00:00
Nick Kralevich
daa0ee137d am 4f8785f2: Merge "SELinuxMMAC additions to perform policy versioning checks."
* commit '4f8785f28e6305d427cc3e483248828c9b9b06a2':
  SELinuxMMAC additions to perform policy versioning checks.
2014-05-31 05:27:46 +00:00
Nick Kralevich
4f8785f28e Merge "SELinuxMMAC additions to perform policy versioning checks." 2014-05-31 05:25:14 +00:00
Nick Kralevich
89b88f2269 am 3a9835d4: Merge "Allow SELinuxPolicyInstallReceiver to update new policy files."
* commit '3a9835d4914bc959a37eefecf4d5d0d20852e3e7':
  Allow SELinuxPolicyInstallReceiver to update new policy files.
2014-05-31 05:09:37 +00:00
Nick Kralevich
3a9835d491 Merge "Allow SELinuxPolicyInstallReceiver to update new policy files." 2014-05-31 05:07:13 +00:00
Narayan Kamath
b9b31f4b8e am bd4d3203: Merge "Support an ABI flag for instrumentation."
* commit 'bd4d320344833ce67dad3a4e10a61d0502a81d0e':
  Support an ABI flag for instrumentation.
2014-05-30 10:41:24 +00:00
Narayan Kamath
bd4d320344 Merge "Support an ABI flag for instrumentation." 2014-05-30 10:35:29 +00:00
Narayan Kamath
246469a355 Log process abis during start.
Adds to the info log that the activity manager emits
during every app launch.

Change-Id: Icd442334cb0e0e0fd0cc529c6b9c315a47d4aadc
2014-05-29 18:04:57 +01:00
Brian Carlstrom
452c592191 am 197565e0: Merge "Move to dalvik.vm.lib.2 to force default to libart"
* commit '197565e0e800be3c731e679914f40afa1aab98fd':
  Move to dalvik.vm.lib.2 to force default to libart
2014-05-28 22:31:39 +00:00
Brian Carlstrom
5bc93866b0 Move to dalvik.vm.lib.2 to force default to libart
Bug: 14298175

(cherry-picked from commit 2ef5abb8d534f016582d6023054cbe69d8114b6b)

Change-Id: Icd91982c09076e87092906106cbff4a81589e8de
2014-05-28 14:53:40 -07:00
Dmitriy Ivanov
2137d6a843 am d5ee4144: Merge "Increase start timeout for wrapped process"
* commit 'd5ee4144c4beae54219e1b8eb10418b02dd4a63b':
  Increase start timeout for wrapped process
2014-05-23 02:35:42 +00:00
Dmitriy Ivanov
c774dcee9d Increase start timeout for wrapped process
* apparently 300*1000 for valgrind is not enough
   (hammerhead aosp tot).

Change-Id: Ia3f26cb67d3aa0ebdec68f3c1a764bad5e7f4f95
2014-05-22 12:40:25 -07:00
narayan
ab3d85ab1a am 838b1e22: Merge "Fix NPE in PackageManagerService."
* commit '838b1e2215cbc27e77530f4c79124c088353e0e7':
  Fix NPE in PackageManagerService.
2014-05-21 20:17:52 +00:00
narayan
0cfe875ac5 Fix NPE in PackageManagerService.
Check that each package from the setting has
a parsed pkg before we attempt to perform dex-opt
on it. If it doesn't have a parsed package, adjust
the ABI in the settings, but don't perform dexopt.
It will be dexopted later if it's still active
based on the setting.

bug: 15081286

Change-Id: Ifb6d1d5efdc9c59b251731972afa951ad930d05c
2014-05-21 21:00:48 +01:00
Brian Carlstrom
e77a77d081 am ec71fed0: Merge "Improve ABI handling for shared user ids."
* commit 'ec71fed089965c4d731eaa90344849a1775f937a':
  Improve ABI handling for shared user ids.
2014-05-21 06:46:26 +00:00
Narayan Kamath
b851c89d22 Improve ABI handling for shared user ids.
The key improvement is that we need to keep track of
the package that's currently being scanned (this includes
new installs and upgrades of existing packages) and treat
it specially. If we didn't do that, In the case of upgrades
we would perform the shared UID calculation based on the ABI
of the old package, and not the current package.

This change also allows us to perform the CPU ABI calculation
before dexopt, which saves us from having to do it twice and
fixes a bug where we were using the wrong package path to
dexopt a package.

This also has the side effect of fixing 15081286.

bug: 15081286

Change-Id: I20f8ad36941fc3df29007f0e83ce82f38f3585c8
2014-05-20 14:09:12 +01:00
Narayan Kamath
deda5467f4 am a4fd1baa: Merge "Fail if we\'re unable to agree on an ISA for shared UIDs."
* commit 'a4fd1baac68dcd73957e0fca0c02089ecf9a268a':
  Fail if we're unable to agree on an ISA for shared UIDs.
2014-05-19 13:29:57 +00:00
Narayan Kamath
a4fd1baac6 Merge "Fail if we're unable to agree on an ISA for shared UIDs." 2014-05-19 13:26:44 +00:00
Narayan Kamath
20ee78ab95 Fail if we're unable to agree on an ISA for shared UIDs.
It's not worth the complexity of rescanning the APK and
extracting a shared library with a different ABI.

Also gets rid of an unnecessary command line argument and
checks for dex-opt failures while adjusting shared ABIs.

bug: 14453227

Change-Id: I6a0695e24cba37e93540c540507088e95b89089b
2014-05-19 14:24:46 +01:00
Narayan Kamath
2c12587620 am 8a196c06: Merge "Change InputMessage.motion.pointerSize to a uint32_t."
* commit '8a196c0676eebf10b2120f3305c0b9bcb99e97ce':
  Change InputMessage.motion.pointerSize to a uint32_t.
2014-05-16 12:08:09 +00:00
Narayan Kamath
844a4c81ff Change InputMessage.motion.pointerSize to a uint32_t.
This ensures it's the same size in both 32 and 64 bit
processes and also brings it in line with struct
MotionEntry.

(cherry-picked from commit bc6001b026069714177526eb1120b0011d6f2a51)

Change-Id: Ide6bb4dc05cc92a7ae8833e615e8ebb2353255a6
2014-05-16 12:55:48 +01:00
Narayan Kamath
8dcfefd652 Support an ABI flag for instrumentation.
Allows us to choose what ABI a process uses when
launching it with "adb shell am instrument", for eg.

adb shell am instrument --abi arm64-v8a component/runner

Note that we only perform very basic validation of the
ABI. In general, there is no guarantee that the app will
launch with the instruction set we choose, for eg. if it
has native libraries that are for a different ABI.

bug: 14453227

Change-Id: Ifb7e89b53675080dc87941091ee5ac360f218d7f
2014-05-16 10:30:00 +01:00
Narayan Kamath
6e2e686889 am 706b1d7e: Merge "Remove "required" prefix from ABI fields."
* commit '706b1d7ea0214b6858730e68c95c6a6d6d9a4c30':
  Remove "required" prefix from ABI fields.
2014-05-15 12:41:47 +00:00
Narayan Kamath
6e35a2ad05 Remove "required" prefix from ABI fields.
As per a comment on an earlier code review.

(cherry-picked from commit a9d64733421d6765eab5c2730fa912f068e26047)

Change-Id: I064cffc13c323b721f3a16c83e0e95ee348ef9f6
2014-05-15 10:57:05 +01:00
Brian Carlstrom
2ce02bba1e am b7d7cbc9: Merge "Fix background PackageUsage writing."
* commit 'b7d7cbc9c3a9315a5c5ecd85e16f5916c4bc3f3a':
  Fix background PackageUsage writing.
2014-05-13 00:34:42 +00:00
Brian Carlstrom
112a720638 Fix background PackageUsage writing.
Change-Id: Ia358b61e648b427c86cf75ae096cd2a68ace209f
2014-05-12 16:56:34 -07:00
Brian Carlstrom
edc31509c2 am b98ca5b0: Merge "If PackageUsage information is missing, treat as first boot and compile everything"
* commit 'b98ca5b0dd73f374178022b4a4b37412f01a3c03':
  If PackageUsage information is missing, treat as first boot and compile everything
2014-05-09 17:33:04 +00:00
Brian Carlstrom
7c5c864c8a If PackageUsage information is missing, treat as first boot and compile everything
Bug: 14663243
Change-Id: I0ae33882044211f777590f482e17e87596be4463
2014-05-09 09:52:09 -07:00
Brian Carlstrom
691079ddc0 am a21ba5be: Merge "Add BackgroundDexOptService"
* commit 'a21ba5bec748e2f10d7e6d38181ec1124991cb60':
  Add BackgroundDexOptService
2014-05-07 03:33:41 +00:00
Brian Carlstrom
f2db00fdcd am edb88bcd: Merge "Use package usage information to decide what dex files to optimize in PackageManagerService"
* commit 'edb88bcd232176e575f2dbee2cfdb1bfbe33faef':
  Use package usage information to decide what dex files to optimize in PackageManagerService
2014-05-07 03:33:37 +00:00
Brian Carlstrom
7395a8ab8a Add BackgroundDexOptService
Change-Id: I0439a04f693ba92df906cbda34f8e53b32f63329
2014-05-06 15:14:29 -07:00
Brian Carlstrom
ff1ec4d9e7 Use package usage information to decide what dex files to optimize in PackageManagerService
Change-Id: Iac137311e2e9d5139b5aa8651c6f3d296802612a
2014-05-06 15:06:25 -07:00
Brian Carlstrom
e3cceef7ec am 0f7c0570: Merge "Minor cleanup of UsageStatsService"
* commit '0f7c0570e091a284481c2406d8275d87c3786c1d':
  Minor cleanup of UsageStatsService
2014-05-01 21:41:58 +00:00
Brian Carlstrom
393fbe71f8 Minor cleanup of UsageStatsService
Change-Id: Idea0e29f347d14e48e87aad38a261d0493bd5fd3
2014-05-01 14:12:14 -07:00
Narayan Kamath
5dca099df7 am 1cec7f85: Merge "Don\'t adjust ABI if PackageSetting#pkg is null."
* commit '1cec7f8539e6465ff80577169d7d07df3c2574b7':
  Don't adjust ABI if PackageSetting#pkg is null.
2014-05-01 14:00:52 +00:00
Narayan Kamath
c1f81f9086 am 27f2bfc4: Merge "Fix dex file pruning logic."
* commit '27f2bfc406157039c5241f6a4f38f597b2076e2a':
  Fix dex file pruning logic.
2014-05-01 14:00:49 +00:00
Narayan Kamath
51f4367cac am bcc3b312: Merge "Adjust instruction sets for shared UID apps."
* commit 'bcc3b312b0662ae2f8b8444eaedd5f35fc75c411':
  Adjust instruction sets for shared UID apps.
2014-05-01 14:00:46 +00:00
Narayan Kamath
69da8a124e am 2a9a0471: Merge "Package manager changes for dual zygote stack."
* commit '2a9a047140b8da8f9cd7147c8bed60eeb61d1b6a':
  Package manager changes for dual zygote stack.
2014-05-01 14:00:43 +00:00
Narayan Kamath
d85ded890d am 645a920f: Merge "Fix OEM native library path bug."
* commit '645a920fd2c478c545c6bb659f2eab36545fe116':
  Fix OEM native library path bug.
2014-05-01 13:56:59 +00:00
Narayan Kamath
eb5734989b am 986b901a: Merge "Fix native-lib dir assignment & updating"
* commit '986b901ae280928e91193527f7c883b296fc62fc':
  Fix native-lib dir assignment & updating
2014-05-01 13:56:56 +00:00
Narayan Kamath
f465db9f1d Don't adjust ABI if PackageSetting#pkg is null.
If means the package hasn't been scanned yet, and we
will adjust the ABI during the scan of the last package
in the shared user group.

NOTE: This needs some more cleaning up, which will be
done along with the remaining TODO in this function.

(cherry picked from commit 6609990e35b11c38f55f6e632160d4f2ff201ea3)

Change-Id: Ibace7849485865054e062d2b979f320bf89ff0f3
2014-05-01 13:56:43 +00:00
Narayan Kamath
57156572a7 Fix dex file pruning logic.
We should now prune all normal files from /data/dalvik-cache
in addition to looking for dex files in all subdirectories of
/data/dalvik-cache.

(cherry picked from commit 51a6f9253399588eedf77d75c578d9aa23d11529)

Change-Id: I536dfdc48e94155e7be64eb4efd9f7f2a1d2d00a
2014-05-01 13:56:22 +00:00
Narayan Kamath
1b46093d33 Adjust instruction sets for shared UID apps.
Since shared UID apps are run in the same process,
we'll need to make sure they're compiled for the same
instruction set.

This change implements the recompilation of apps that
don't have any ABI constraints.

Apps that *do* have ABI constraints are harder to deal
with, since we'll need to rescan them to figure out the
full list of ABIs they support and then re-extract the
native libraries from these apps once we find an ABI we
can use throughout.

(cherry picked from commit 85703d58af1dac692d7d83c03220e45ab2a5aded)

Change-Id: I8311a683468488cc7e30381965487a3d391609ae
2014-05-01 13:55:35 +00:00
Narayan Kamath
0349e8c478 Package manager changes for dual zygote stack.
- Pass down the app's instruction set to dexopt so that
  it can compile the dex file for the right architecture.

- Also pass down the app's instruction set to rmdex, movedex
  and getSize so that they can construct the cache file
  location properly.

- Temporarily compile "system" jars such as am,wm etc. for
  both architectures. A follow up change will ensure that
  they're compiled only for one architecture (the same
  arch. as the system server).

- Java "shared" libraries are now compiled for the right
  architecture when an app requires them.

- Improve the app native library ABI detection to account
  for system apps installed in /system/lib{64}/<packagename>
  and also handle sdcard and forward locked apps correctly.

(cherry-picked from commit b4d35dc8e9702f9d0d82d35a105f0eea35672b52)
2014-05-01 13:54:48 +00:00
Narayan Kamath
99253c2da9 am fde59428: Merge "Handle /oem and /vendor as well"
* commit 'fde594288bff0b8f95567e6b27f273f50f0c5f87':
  Handle /oem and /vendor as well
2014-05-01 13:53:08 +00:00
Narayan Kamath
a7b465efc4 am d91358b2: Merge "Support per-package lib dirs for bundled apps"
* commit 'd91358b2b977ef7c3551a486f51475c0441aba6e':
  Support per-package lib dirs for bundled apps
2014-05-01 13:52:59 +00:00
Jeff Sharkey
66309e2bf7 Fix OEM native library path bug.
Bug: 13340779

(cherry picked from commit 7d3328d14bbbee01a9de1ff5b13b0446c709d835)

Change-Id: I1b4c5d138cafe3651d475ca1e048f495ff6c5f10
2014-05-01 13:52:33 +00:00