If one of the ABI list system properties is undefined/empty (as
ro.product.cpu.abilist64 is on a 32-bit only device), getString returns
"unknown", which ends up creating a 1-element array with "unknown" as a
member. Fix this to instead just get the empty string and split that
into a 0-element array.
Change-Id: I0d0a54eb06bb04427bcf0487e2a16d4180b81116
- 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)
Partial cherry-pick of changes 4ca728c0 and 21de56a9, which
can't be cherry-picked due to their large surface area.
Change-Id: Ife46e150d360cd5241dea93863141749233c1805
- Differentiate between clean exits and signals.
- Change the logic for the waitpid warning. We should log it
only if the *first* call to waitpid returned ECHILD.
Change-Id: I6bc50e4ffd100fb7f3f526d6b4056bed10b8045f
Originally the api 'getCropAndSetWallpaperIntent' does not check
whether the parsed parameter is a NULL pointer, as leads to the
whole app crash if it call this api with a null parameter accidentally.
A null pointer check logic is added into its original parameter check
logic, so that this API will throw an IllegalArgumentException if it
is parsed with a null pointer
Change-Id: Ib7de40e571419d09e1a744edc969eb7162766b75
System.gc doesn't always do a GC unless to attempt to run the
finalizers after you call System.gc.
Bug: 14325353
Change-Id: Iebed7fad5576d610cea13a86e7d3d46652c67478
- critical issue with using %lld to scanf into a jlong
- subsidiary issues with mix jint, jsize and jlong printing
Change-Id: I77c6b3d3a202fec741cacc540fc39ad6cba25f52
Starting from kernel 3.6, it requires processes to have the capability
CAP_BLOCK_SUSPEND to set/unset wake locks. Adds CAP_BLOCK_SUSPEND
to the list of capabilities for system server, so that PowerManager
can set wake locks.
Change-Id: I3246e6f6e6cb8f0bedb1c0417ed07085ee1f3aaa
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This change contains fixes to base from libcore change
I37de3e7d1a005a73821221e6156d10b95c595d7a
Bug: 13927110
Change-Id: I2d96e50307611c269dcf47886cd4d976854da8fc
This can be fixed by tweaking their BoardConfig as well,
but that leads to all sorts of other problems.
For now, fall back to the primary zygote if the secondary
is unavailable. This will fail if shared libraries for the
primary zygote ABI are unavailable, but that won't be the
case just yet.
bug: 13970103
Change-Id: Ifa107e43ca95023d57a0d9c641e4fddaccd9a888