1110 Commits

Author SHA1 Message Date
Narayan Kamath
797b109c60 am 7ed98c43: Merge "Add an --abi argument to "pm install""
* commit '7ed98c43f8cbcfbb4862205a72455ab39359a011':
  Add an --abi argument to "pm install"
2014-06-03 13:24:45 +00: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
f7871c3146 am b9b31f4b: am bd4d3203: Merge "Support an ABI flag for instrumentation."
* commit 'b9b31f4b8eda123e7b544d1a0fa886576064adca':
  Support an ABI flag for instrumentation.
2014-05-30 10:49:00 +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
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
1810927a9b am eabc93db: am c4c08803: Merge "app_process: change app_process a symlink of primary version"
* commit 'eabc93db1020be4b71f0db7d5b5d3a7991f3c264':
  app_process: change app_process a symlink of primary version
2014-05-15 09:45:33 +00:00
Narayan Kamath
eabc93db10 am c4c08803: Merge "app_process: change app_process a symlink of primary version"
* commit 'c4c08803a8cc090aa27720e97df342231e8433af':
  app_process: change app_process a symlink of primary version
2014-05-15 09:41:40 +00:00
Yongqin Liu
559484ed6a app_process: change app_process a symlink of primary version
Change app_process to be a symlink to the primary version
and have app_process32/app_process64 be the 32-bit/64-bit
versions respectively.

This will make it possible to use the primary zygote for
am/pm commands and other scripts that use app_process and
don't need a specific zygote.

Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
Change-Id: Ibef545994eb95ddc82101c95df613ad1d06345e6
2014-05-14 18:48:42 +01:00
Narayan Kamath
b6c04899e1 am c8a045d4: am 41f40581: Merge "Fix x86 build in app_process."
* commit 'c8a045d451522adab5226b0063f3a15d34542bf7':
  Fix x86 build in app_process.
2014-05-01 10:43:23 +00:00
Narayan Kamath
fd30a0e7b7 am ff34f6fa: am 27b03e62: Merge "Create arch specific cache dirs during zygote startup."
* commit 'ff34f6faaad21f5f72decc0b6a0bbde8dab68e29':
  Create arch specific cache dirs during zygote startup.
2014-05-01 10:43:19 +00:00
Narayan Kamath
c8a045d451 am 41f40581: Merge "Fix x86 build in app_process."
* commit '41f40581ee0284660d30be8ef28f6bf721c4ce10':
  Fix x86 build in app_process.
2014-05-01 10:39:55 +00:00
Narayan Kamath
ff34f6faaa am 27b03e62: Merge "Create arch specific cache dirs during zygote startup."
* commit '27b03e6272479ed82762a4a5d6e4be4f26c1ed58':
  Create arch specific cache dirs during zygote startup.
2014-05-01 10:39:52 +00:00
Narayan Kamath
d6183204e4 Fix x86 build in app_process.
Look for __i386__ and not __x86__.

(cherry picked from commit 47d526217b3fd0d17ba751c66d25cfaf1c6ed7cd)

Change-Id: I848ba351c378e59ab6744ca1983ae4463ae75ba4
2014-05-01 11:27:49 +01:00
Narayan Kamath
973cdeed8e Create arch specific cache dirs during zygote startup.
The runtime expects them to exist before it's launched.
The boot image / art files are created during the first
zygote launch.

(cherry picked from commit da738713e4e2120a324e8ab6fd11aa0e54a3c66e)

Change-Id: I7472aa25c16a1cf95791af2bdf80ed0d73123872
2014-05-01 11:26:49 +01:00
Narayan Kamath
516130ccb1 am dbbf431b: am d0f7f418: Merge "Freeing frame map"
* commit 'dbbf431b289bb7a01b43db3412ecab00abe18362':
  Freeing frame map
2014-04-30 15:37:44 +00:00
Narayan Kamath
dbbf431b28 am d0f7f418: Merge "Freeing frame map"
* commit 'd0f7f41828493b0679e908f7bb3ed3b8e838c463':
  Freeing frame map
2014-04-30 15:12:58 +00:00
Mykola Kondratenko
0c1eeb3c8a Freeing frame map
FileMap memory is never released until application exit

Release it now as the texture is already loaded and the memory
used for the packed resource can be released.

Change-Id: Id08a1e466337b3a0179684eb6a444e18147ee343
2014-04-30 10:58:20 +00:00
Bill Yi
293513a59d Merge commit '0b62467b142b61ee1e449ba958ba37dfd961ef56' into HEAD 2014-04-29 16:07:29 -07:00
Nick Kralevich
ab5834545d am 1866e5dc: am af40649e: Merge "Set NO_NEW_PRIVS on zygote init"
* commit '1866e5dc8bb04b58a67e54f66cb4ec22e878667d':
  Set NO_NEW_PRIVS on zygote init
2014-04-29 22:26:41 +00:00
Nick Kralevich
195c73c9b2 Set NO_NEW_PRIVS on zygote init
When app_process/zygote starts, make sure PR_SET_NO_NEW_PRIVS is set.
This prevents zygote spawned apps from acquiring new privileges
on exec.

In particular, this allows the CTS test
android.os.cts.SecurityFeaturesTest#testNoNewPrivs() to pass if ART is set
as the default runtime.

Change-Id: I81139cda999c7b1430242561aad28f566e9b6da0
2014-04-29 15:10:58 -07:00
Elliott Hughes
56cc5ba79b am 8d47f23e: am dbb0de21: Merge "Fix a typo in an assertion."
* commit '8d47f23e43760dcbf051aaeffff668c3c6340276':
  Fix a typo in an assertion.
2014-04-24 09:01:44 +00:00
Elliott Hughes
6bd762289b Fix a typo in an assertion.
Change-Id: I3e97bb3cb8070c0ec0c6b97769f1da3e7b4ef8f5
2014-04-23 16:54:33 -07:00
Narayan Kamath
964570044e am 549ae327: am aa19a2f6: Merge "Don\'t compare String8s to NULL."
* commit '549ae327245a844862065dc9bb0562544e8c3beb':
  Don't compare String8s to NULL.
2014-04-14 08:46:17 +00:00
Narayan Kamath
90c75cf02e Don't compare String8s to NULL.
Use String8::isEmpty instead. Note that this code path is hit
only if the zygote calls ::exit, and that never happens unless
the VM invocation fails.

Change-Id: I0e7d3a86a79b12b2174ca3bf0dbe1904e33c041a
2014-04-12 12:25:50 +01:00
Narayan Kamath
c3255ae04c am de442781: am 909a6a0e: Merge "Dual zygote cleanup."
* commit 'de442781cd4f7404e8aaa3f7ca5d1d3fc28cccc6':
  Dual zygote cleanup.
2014-04-11 09:57:27 +00:00
Narayan Kamath
d35d3e5d39 Dual zygote cleanup.
- Use different process names for the 32 / 64 bit zygote.
- Pass command line arguments correctly. The first unmatched
  argument must be passed through to the java main class.

Change-Id: I952ebbdbba941f118d992354b9bd0ada2dade417
2014-04-10 12:15:39 +01:00
Narayan Kamath
9f777008ea am 05f980d4: am d4b64409: Merge "Make zygotes aware of their supported ABIs."
* commit '05f980d42d4926ab2130cdcf9e646eb610a7080b':
  Make zygotes aware of their supported ABIs.
2014-04-09 14:02:18 +00:00
Narayan Kamath
97175deb44 am 3856a219: am cecfb94f: Merge "Clean up argc / argv processing for runtime args."
* commit '3856a219fa414ee53c5ef3a0c35dae35e2ca80b1':
  Clean up argc / argv processing for runtime args.
2014-04-09 14:02:08 +00:00
Narayan Kamath
c41638cb75 Make zygotes aware of their supported ABIs.
Query system properties for the list of ABIs and pass
it as a command line argument to ZygoteInit.

Also add a new Zygote command that returns this list of
ABIs to peers.

Change-Id: I68034c6f63fa626911122579a011a0a25a8cda94
2014-04-09 13:41:15 +01:00
Narayan Kamath
22ec1eefa4 Clean up argc / argv processing for runtime args.
- Make copies of argc, argv before argv is potentially
  overwritten with the process name.
- Allow multiple command line arguments to be passed to
  ZygoteInit (this is required for some of the 64 bit
  zygote work).
- Add an explanatory comment about how these argments
  are processed.

Change-Id: I752be69c5c0f97ed17d1a3dded19f46ee00929b0
2014-04-09 13:39:41 +01:00
Narayan Kamath
71ae2bd42b am f87b3a25: am 374db6c3: Merge "Remove ProcessState::mArgc,mArgV,mArgLen"
* commit 'f87b3a25b928f145558f6f60183944f513878b63':
  Remove ProcessState::mArgc,mArgV,mArgLen
2014-04-03 14:11:34 +00:00
Narayan Kamath
a23fcd7be8 Remove ProcessState::mArgc,mArgV,mArgLen
These look like historical oddities, and weren't really being
used for anything useful.

Process:setArgV0 was being called by android.util.Process, but
that functionality can be moved directly into the implementation
of that class.

bug: 13647418

Change-Id: I216c8f8a4c065f0cf3a61f19f9e32decd26f93f6
2014-04-03 12:29:07 +00:00
Colin Cross
c1a7d0758d am 232d4224: am f0ffa8a3: Merge "app_process: use LOCAL_MULTILIB := both"
* commit '232d422405d686eb493b48370a2b2f7c35fe96fb':
  app_process: use LOCAL_MULTILIB := both
2014-03-27 17:36:27 +00:00
Colin Cross
f130f0aaea app_process: use LOCAL_MULTILIB := both
Use LOCAL_MULTILIB := both to build app_process64 instead of
duplicating the build rule.

Also causes PRODUCT_PACKAGES := app_process to install both
versions on 64-bit platforms, as the module names for both
app_process and app_process64 are now app_process.

Change-Id: Ia3c3265d15475771b0cae8bace53b8fbf351c186
2014-03-27 10:20:29 -07:00
Colin Cross
4a1bc7dfc1 am e4360c8e: am 4308a523: Merge "bootanimation: build 32-bit if 64-bit gl libraries are not available"
* commit 'e4360c8e14d1ea362fb1d13b7a5c9bf003f3be00':
  bootanimation: build 32-bit if 64-bit gl libraries are not available
2014-03-20 17:47:10 +00:00
Colin Cross
71a3d40d20 am e4360c8e: am 4308a523: Merge "bootanimation: build 32-bit if 64-bit gl libraries are not available"
* commit 'e4360c8e14d1ea362fb1d13b7a5c9bf003f3be00':
  bootanimation: build 32-bit if 64-bit gl libraries are not available
2014-03-20 17:46:50 +00:00
Colin Cross
49fca69747 am 0dccb02b: am 19fc55e1: Merge "build app_process64 on 64-bit targets"
* commit '0dccb02b9fd714af1db91e4ba3ca0b0da4e563c1':
  build app_process64 on 64-bit targets
2014-03-20 01:23:28 +00:00
Colin Cross
af9205626f am 0dccb02b: am 19fc55e1: Merge "build app_process64 on 64-bit targets"
* commit '0dccb02b9fd714af1db91e4ba3ca0b0da4e563c1':
  build app_process64 on 64-bit targets
2014-03-20 01:22:59 +00:00
Colin Cross
31d16e5bf9 bootanimation: build 32-bit if 64-bit gl libraries are not available
Set LOCAL_32_BIT_ONLY if TARGET_32_BIT_SURFACEFLINGER is set.

Change-Id: I76396cc9fe3fe45d1e98a44bf911d6e70922555a
2014-03-19 18:10:31 -07:00
Colin Cross
2764fce3a1 build app_process64 on 64-bit targets
On 64-bit platforms builds two copies of app_process, the 32-bit
app_process and 64-bit app_process64.

Change-Id: I59d739b5df398ad0bd040c954c57640ff7ab3e72
2014-03-19 17:49:47 -07:00
Dianne Hackborn
8392e7e287 am 01de2432: am 24d8fa73: Merge "frameworks/base: move idmap from frameworks/native"
* commit '01de243263d347f2ac13a239d67d41817e34df33':
  frameworks/base: move idmap from frameworks/native
2014-03-07 19:33:55 +00:00
Dianne Hackborn
dc3561df11 am 01de2432: am 24d8fa73: Merge "frameworks/base: move idmap from frameworks/native"
* commit '01de243263d347f2ac13a239d67d41817e34df33':
  frameworks/base: move idmap from frameworks/native
2014-02-14 01:54:49 +00:00
Colin Cross
13221c9cff frameworks/base: move idmap from frameworks/native
idmap depends on libandroidfw, so it should go in frameworks/base.

Change-Id: I3c1db3baa355f53d6b523d60f4377e63eff00c30
2014-02-11 18:11:36 -08:00
Craig Mautner
e0a3884cb6 Extend stack management to other displays.
- Abandon ActivityContainer.startActivity() in favor of
IActivityManager.startActivityAsUserInContainer().
- Modify Am to test starting an activity on a container.
- Create a DisplayContext as the base context if the activity token
is on a different display.
- Test for home display in more cases when manipulating home stack.
- Rename mDisplayInfos => mActivityDisplays.
- Create new method for moving task to front of stack regardless of
which display it is on.

Change-Id: I4fcb83ae844c5839ee3e2722229623d1a80ed921
2014-01-06 08:51:21 -08:00
Craig Mautner
4a1cb22056 Pair ActivityStacks with Displays
- Introduce concept of ActivityStacks residing on Displays and able
to be decoupled and moved around.
- Add a new interface, IActivityContainer for clients to handle
ActivityStacks.
- Abandon ordering of stacks based on mStackState and instead use
ActivityDisplayInfo.stacks<ActivityStack> ordering.

Progress towards closing bug 12078972.

Change-Id: I7785b61c26dc17f432a4803eebee07c7415fcc1f
2013-12-18 15:08:15 -08:00
Nick Kralevich
fc800d407d am fbd6d5a8: am 09fdc159: am 3ddee4de: Merge "[bootanimation] Drop user loadable bootanimation.zip abiltiy."
* commit 'fbd6d5a8f8f242ab5a079cc6ed12e2ebaa8bb226':
  [bootanimation] Drop user loadable bootanimation.zip abiltiy.
2013-12-16 18:44:04 +00:00
Nick Kralevich
09fdc15955 am 3ddee4de: Merge "[bootanimation] Drop user loadable bootanimation.zip abiltiy."
* commit '3ddee4dec9b7ae2265c356f5809eae73e1ef8796':
  [bootanimation] Drop user loadable bootanimation.zip abiltiy.
2013-12-16 10:36:39 -08:00
Robert Craig
cee6a096b1 [bootanimation] Drop user loadable bootanimation.zip abiltiy.
A prior change removed the ability of
the shell to push to /data/local. Because
of this, the bootanimation code no longer
supports users loading custom bootanimation.zip
files. This patch drops the access attempt
from the code.

Change-Id: Ie30dd73699c8296be00dc6fbf14691e08baa6410
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2013-12-16 09:42:51 -05:00
Nick Kralevich
411954aef0 am a6416309: am 1e137549: am efa5c88f: Merge "Don\'t try to set service.bootanim.exit"
* commit 'a64163093e6e55f8bbb0153e783fb0ab635e9e60':
  Don't try to set service.bootanim.exit
2013-12-11 22:08:05 +00:00
Narayan Kamath
0bc3607c28 am 9f09408e: am 336bf2fb: am d21752df: Merge "Reimplement ZipFileRO in terms of libziparchive."
* commit '9f09408e3939c5afdb3f9dafc41afd249303ed7f':
  Reimplement ZipFileRO in terms of libziparchive.
2013-12-11 22:02:25 +00:00