That's because a camera isn't required for compatibility and some
devices don't have a camera.
Add the Camera app in the emulator builds, since the emulator does
have a camera.
Change-Id: I56a1fe9f703c3b05dec99200a9353d75338c5f40
Backport from AOSP master.
This enables the Dex pre-optimization for emulator-specific builds.
The idea is to speed up the initial boot sequence of an SDK AVD by
avoiding the costly on-device preopt pass that is performed otherwise
the first time the AVD is launched.
Benchmarking shows reductions in first boot time from 1m30s to 40s
on a 2.4GHz Xeon when emulating the AOSP master ToT.
Change-Id: Ibf5ebe68aa4d363c9df05d2ffe7cb828ef99f922
Orig-Change-Id: I67a9ce9791220c202817864c6e83dc8fd9cbc027
Backport from AOSP master.
Now that the emulator supports proper ARMv7 emulation, switch to
building all emulator-specific platform images using this instruction
set, in order to benefit from the noticeable speed boost provided by
Thumb-2 instructions.
Note that we don't build with NEON support because emulated NEON
instructions are currently slow, though they work.
IMPORTANT: You need to have the following emulator patch in your tree
in order to start these platform builds easily:
https://review.source.android.com//#change,23798
Otherwise, the alternative is to do these things:
1/ Telling the emulator to emulate an ARMv7-A CPU, instead of
an ARMv5TE one. This is normally done with "-qemu cortex-a8"
2/ Using an ARMv7-A capable kernel image, which is available and
usable with -kernel prebuilt/android-arm/kernel-qemu-armv7
Note that the emulator has a special hack that automatically enables
1/ if 2/ is being used (i.e. if the kernel image name ends with -armv7,
then emulate an ARMv7-A CPU automatically).
So in reality, only 2/ is required.
Change-Id: Id3ac7cdbda892e519af98aff1f02136f344406b8
Orig-Change-Id: I5c0245ba5e6a2bc34d0d49b2c024fffd317a5eed
By inheriting from full, this will be more self-maintaining, and
automatically gets a better-configured variant (e.g. it has locales,
a date format, etc...).
Orig-Change-Id: I67b6c2d9f9b7d20cb89154906c3f3d6a5391c838
This splits the existing full.mk in two parts:
-One is the device-independent full_base.mk
-The other is the emulator-specific device.mk
This way we'll be able to inherit from full_base.mk
for on-device builds without any emulator-specific
files getting in the way.
Change-Id: I7f8254bf8c1177594fbdfbdb082bdc429a4a5b25
Orig-Change-Id: Ieb1f4ed47988c8fff119ff53f1f374032da3752d
Use it for the sim build and full build.
Change-Id: I0050f9ee10aafa96cb89cad5d3f492bb1839e331
Orig-Change-Id: I64dfa7ac1b374529ef5f0c1460dd35171311115e
This enables the Dex pre-optimization for emulator-specific builds.
The idea is to speed up the initial boot sequence of an SDK AVD by
avoiding the costly on-device preopt pass that is performed otherwise
the first time the AVD is launched.
Benchmarking shows reductions in first boot time from 1m30s to 40s
on a 2.4GHz Xeon when emulating the AOSP master ToT.
Change-Id: I67a9ce9791220c202817864c6e83dc8fd9cbc027
Now that the emulator supports proper ARMv7 emulation, switch to
building all emulator-specific platform images using this instruction
set, in order to benefit from the noticeable speed boost provided by
Thumb-2 instructions.
Note that we don't build with NEON support because emulated NEON
instructions are currently slow, though they work.
IMPORTANT: You need to have the following emulator patch in your tree
in order to start these platform builds easily:
https://review.source.android.com//#change,23798
Otherwise, the alternative is to do these things:
1/ Telling the emulator to emulate an ARMv7-A CPU, instead of
an ARMv5TE one. This is normally done with "-qemu cortex-a8"
2/ Using an ARMv7-A capable kernel image, which is available and
usable with -kernel prebuilt/android-arm/kernel-qemu-armv7
Note that the emulator has a special hack that automatically enables
1/ if 2/ is being used (i.e. if the kernel image name ends with -armv7,
then emulate an ARMv7-A CPU automatically).
So in reality, only 2/ is required.
Change-Id: I5c0245ba5e6a2bc34d0d49b2c024fffd317a5eed
A configuration file named audio_effects.conf is now used
to list audio effect libraries and engines to be loaded by the
effects factory. A default version of this file is installed
in /system/etc. OEMs can override this file by placing a file
with the same name under /vendor/etc.
Change-Id: Id10e0e54f53234ec52b22b6f882734edaf2648ac
This now needs to be controlled on a per product basis
rather than telephony / no telephony basis.
Change-Id: I581bc0e027f844c1f7b7262c3833d8f727c3c9ec
Switch the emulator builds to ash to make sure it still
works, in case we find that we need to go back to using ash.
Change-Id: Id5641940b63cc4225011be1c375f4c86ec4d21cc
The 'bu' program is used by the platform's local backup mechanism
to stream a 'tar'-compatible dump of application packages/data.
BackupRestoreConfirmation is the UI for verifying that the user
did is aware of & grants permission for a requested full backup or
restore operation.
Change-Id: I3a3fe345e89d09838bddc4010d429e1374e19440
Previously the CA certs stored in the BKS KeyStore at
/system/etc/security/cacerts.bks was loaded in the Zygote. As the the
number of CAs are started to increase, this is causing more and more
memory to be used for rarely used CAs. The new AndroidCAStore KeyStore
implementation reads the CAs as needed out of individual PEM
certificate files. The files can be efficiently found because they are
named based on a hash CA's subject name, similar to OpenSSL.
Bug: 1109242
Details:
build
Removing old cacerts.bks from GRANDFATHERED_ALL_PREBUILT and
adding new cacerts directory to core PRODUCT_PACKAGES
core/legacy_prebuilts.mk
target/product/core.mk
libcore
cacerts build changes. Move cacerts prebuilt logic to new
CaCerts.mk from NativeCode.mk where it didn't make sense. Updated
Android.mk's dalvik-host target to install new cacerts files.
Android.mk
CaCerts.mk
NativeCode.mk
Remove old cacerts.bks and add remove certimport.sh script used to
generate it.
luni/src/main/files/cacerts.bks
luni/src/main/files/certimport.sh
Recanonicalize cacerts files using updated vendor/google/tools/cacerts/certimport.py
(See below discussion of certimport.py changes for details)
luni/src/main/files/cacerts/00673b5b.0
luni/src/main/files/cacerts/03e16f6c.0
luni/src/main/files/cacerts/08aef7bb.0
luni/src/main/files/cacerts/0d188d89.0
luni/src/main/files/cacerts/10531352.0
luni/src/main/files/cacerts/111e6273.0
luni/src/main/files/cacerts/1155c94b.0
luni/src/main/files/cacerts/119afc2e.0
luni/src/main/files/cacerts/11a09b38.0
luni/src/main/files/cacerts/12d55845.0
luni/src/main/files/cacerts/17b51fe6.0
luni/src/main/files/cacerts/1920cacb.0
luni/src/main/files/cacerts/1dac3003.0
luni/src/main/files/cacerts/1dbdda5b.0
luni/src/main/files/cacerts/1dcd6f4c.0
luni/src/main/files/cacerts/1df5ec47.0
luni/src/main/files/cacerts/1e8e7201.0
luni/src/main/files/cacerts/1eb37bdf.0
luni/src/main/files/cacerts/219d9499.0
luni/src/main/files/cacerts/23f4c490.0
luni/src/main/files/cacerts/27af790d.0
luni/src/main/files/cacerts/2afc57aa.0
luni/src/main/files/cacerts/2e8714cb.0
luni/src/main/files/cacerts/2fa87019.0
luni/src/main/files/cacerts/2fb1850a.0
luni/src/main/files/cacerts/33815e15.0
luni/src/main/files/cacerts/343eb6cb.0
luni/src/main/files/cacerts/399e7759.0
luni/src/main/files/cacerts/3a3b02ce.0
luni/src/main/files/cacerts/3ad48a91.0
luni/src/main/files/cacerts/3c58f906.0
luni/src/main/files/cacerts/3c860d51.0
luni/src/main/files/cacerts/3d441de8.0
luni/src/main/files/cacerts/3e7271e8.0
luni/src/main/files/cacerts/418595b9.0
luni/src/main/files/cacerts/455f1b52.0
luni/src/main/files/cacerts/46b2fd3b.0
luni/src/main/files/cacerts/48478734.0
luni/src/main/files/cacerts/4d654d1d.0
luni/src/main/files/cacerts/4e18c148.0
luni/src/main/files/cacerts/4fbd6bfa.0
luni/src/main/files/cacerts/5021a0a2.0
luni/src/main/files/cacerts/5046c355.0
luni/src/main/files/cacerts/524d9b43.0
luni/src/main/files/cacerts/56b8a0b6.0
luni/src/main/files/cacerts/57692373.0
luni/src/main/files/cacerts/58a44af1.0
luni/src/main/files/cacerts/594f1775.0
luni/src/main/files/cacerts/5a3f0ff8.0
luni/src/main/files/cacerts/5a5372fc.0
luni/src/main/files/cacerts/5cf9d536.0
luni/src/main/files/cacerts/5e4e69e7.0
luni/src/main/files/cacerts/60afe812.0
luni/src/main/files/cacerts/635ccfd5.0
luni/src/main/files/cacerts/67495436.0
luni/src/main/files/cacerts/69105f4f.0
luni/src/main/files/cacerts/6adf0799.0
luni/src/main/files/cacerts/6e8bf996.0
luni/src/main/files/cacerts/6fcc125d.0
luni/src/main/files/cacerts/72f369af.0
luni/src/main/files/cacerts/72fa7371.0
luni/src/main/files/cacerts/74c26bd0.0
luni/src/main/files/cacerts/75680d2e.0
luni/src/main/files/cacerts/7651b327.0
luni/src/main/files/cacerts/76579174.0
luni/src/main/files/cacerts/7999be0d.0
luni/src/main/files/cacerts/7a481e66.0
luni/src/main/files/cacerts/7a819ef2.0
luni/src/main/files/cacerts/7d3cd826.0
luni/src/main/files/cacerts/7d453d8f.0
luni/src/main/files/cacerts/81b9768f.0
luni/src/main/files/cacerts/8470719d.0
luni/src/main/files/cacerts/84cba82f.0
luni/src/main/files/cacerts/85cde254.0
luni/src/main/files/cacerts/86212b19.0
luni/src/main/files/cacerts/87753b0d.0
luni/src/main/files/cacerts/882de061.0
luni/src/main/files/cacerts/895cad1a.0
luni/src/main/files/cacerts/89c02a45.0
luni/src/main/files/cacerts/8f7b96c4.0
luni/src/main/files/cacerts/9339512a.0
luni/src/main/files/cacerts/9685a493.0
luni/src/main/files/cacerts/9772ca32.0
luni/src/main/files/cacerts/9d6523ce.0
luni/src/main/files/cacerts/9dbefe7b.0
luni/src/main/files/cacerts/9f533518.0
luni/src/main/files/cacerts/a0bc6fbb.0
luni/src/main/files/cacerts/a15b3b6b.0
luni/src/main/files/cacerts/a3896b44.0
luni/src/main/files/cacerts/a7605362.0
luni/src/main/files/cacerts/a7d2cf64.0
luni/src/main/files/cacerts/ab5346f4.0
luni/src/main/files/cacerts/add67345.0
luni/src/main/files/cacerts/b0f3e76e.0
luni/src/main/files/cacerts/bc3f2570.0
luni/src/main/files/cacerts/bcdd5959.0
luni/src/main/files/cacerts/bda4cc84.0
luni/src/main/files/cacerts/bdacca6f.0
luni/src/main/files/cacerts/bf64f35b.0
luni/src/main/files/cacerts/c0cafbd2.0
luni/src/main/files/cacerts/c215bc69.0
luni/src/main/files/cacerts/c33a80d4.0
luni/src/main/files/cacerts/c527e4ab.0
luni/src/main/files/cacerts/c7e2a638.0
luni/src/main/files/cacerts/c8763593.0
luni/src/main/files/cacerts/ccc52f49.0
luni/src/main/files/cacerts/cdaebb72.0
luni/src/main/files/cacerts/cf701eeb.0
luni/src/main/files/cacerts/d16a5865.0
luni/src/main/files/cacerts/d537fba6.0
luni/src/main/files/cacerts/d64f06f3.0
luni/src/main/files/cacerts/d777342d.0
luni/src/main/files/cacerts/d8274e24.0
luni/src/main/files/cacerts/dbc54cab.0
luni/src/main/files/cacerts/ddc328ff.0
luni/src/main/files/cacerts/e48193cf.0
luni/src/main/files/cacerts/e60bf0c0.0
luni/src/main/files/cacerts/e775ed2d.0
luni/src/main/files/cacerts/e7b8d656.0
luni/src/main/files/cacerts/e8651083.0
luni/src/main/files/cacerts/ea169617.0
luni/src/main/files/cacerts/eb375c3e.0
luni/src/main/files/cacerts/ed049835.0
luni/src/main/files/cacerts/ed524cf5.0
luni/src/main/files/cacerts/ee7cd6fb.0
luni/src/main/files/cacerts/f4996e82.0
luni/src/main/files/cacerts/f58a60fe.0
luni/src/main/files/cacerts/f61bff45.0
luni/src/main/files/cacerts/f80cc7f6.0
luni/src/main/files/cacerts/fac084d7.0
luni/src/main/files/cacerts/facacbc6.0
luni/src/main/files/cacerts/fde84897.0
luni/src/main/files/cacerts/ff783690.0
Change IntegralToString.intToHexString to take width argument to
allow for leading zero padding. Updated existing callers to
specify 0 padding desired. Add testing of new padding
functionality.
luni/src/main/java/java/lang/Character.java
luni/src/main/java/java/lang/Integer.java
luni/src/main/java/java/lang/IntegralToString.java
luni/src/test/java/libcore/java/lang/IntegralToStringTest.java
Improved to throw Exceptions with proper causes
luni/src/main/java/java/security/KeyStore.java
luni/src/main/java/java/security/Policy.java
luni/src/main/java/java/security/cert/CertificateFactory.java
luni/src/main/java/javax/crypto/Cipher.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSignature.java
Indentation fixes
luni/src/main/java/java/security/SecureRandom.java
Fix X509CRLSelector.getIssuerNames to clone result and added test to cover this.
luni/src/main/java/java/security/cert/X509CRLSelector.java
luni/src/test/java/libcore/java/security/cert/X509CRLSelectorTest.java
Fixed bug where we created an X500Principal via a String
representation instead of from its original encoded bytes. This
led to a difficult to track down bug where CA 418595b9.0 where the
NativeCode.X509_NAME_hash of a Harmony (but not BouncyCastle)
X509Certificate would not hash to the expected value because the
encoded form used an ASN.1 PrintableString instead of the
UTF8String form found in the original certificate.
luni/src/main/java/org/apache/harmony/security/x501/Name.java
Add a new RootKeyStoreSpi and register it as the
AndroidCAStore. This new read-only KeyStore implementation that
looks for certificates in $ANDROID_ROOT/etc/security/cacerts/
directory, which is /system/etc/security/cacerts/ on devices. The
files are stored in the directory based on the older md5 based
OpenSSL X509_NAME_hash function (now referred to as
X509_NAME_hash_old in OpenSSL 1.0)
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/RootKeyStoreSpi.java
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/JSSEProvider.java
Added OpenSSL compatible X509_NAME_hash and X509_NAME_hash_old
functions for producting an int hash value from an X500Principal.
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java
Changed TrustManagerFactoryImpl to use AndroidCAStore for its default KeyStore
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerFactoryImpl.java
Changed TrustManagerImpl to be AndroidCAStore aware. If it detects
an AndroidCAStore, it avoids generating the acceptedIssuers array
at constructions, since doing so would force us to parse all
certificates in the store and the value is only typically used by
SSLServerSockets when requesting a client certifcate. Because we
don't load all the trusted CAs into the IndexedPKIXParameters at
startup in the case of AndroidCAStore, we now check for new CAs
when examining the cert chain for unnecessary TrustAnchors and for
a newly discovered issuer at the end of the chain before
validation.
luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerImpl.java
Updated KeyStoreTest to cope with read only KeyStore. Update
test_cacerts_bks (now renamed test_cacerts) to use the
AndroidCAStore for validating system CA certificate
validity. Register AndroidCAStore as an expected KeyStore type
with StandardNames.
luni/src/test/java/libcore/java/security/KeyStoreTest.java
support/src/test/java/libcore/java/security/StandardNames.java
Added test of X500Principal serialization while investigating Name
encoding issue. However, the actual Name bug was found and
verified by the new test_cacerts test.
luni/src/test/java/libcore/javax/security/auth/x500/X500PrincipalTest.java
vendor/google
Change canonical format for checked in cacerts to have PEM
certificate at the top, as required by Harmony's X.509
CertificateFactory.
tools/cacerts/certimport.py
Change-Id: I35164580e04c6f79404de9e3139694c30c57eb8b
This change ensures that building full_x86-eng will copy the
Bios files to the right location. This is necessary to launch
"emulator-x86" after building the system images.
Before this patch, one had to make the copy manually. Note that
sdk_x86-eng does not need this (the files are actually taken care
of in build/target/product/sdk.mk so will be copied even in case
of the ARM sdk build).
Change-Id: If70adead27c7997694ebc30561005d26a7358c34
Added an instruction to copy init.vbox_x86.rc to the output's root.
This is required to properly setup networking and other stuff inside
the emulator.
Change-Id: I84b11b048120a59109aa95d4f18d496a3c874911
Original description from open master:
-----------
Add more sdk lib tests to sdk build.
Also fix whitespace issues introduced by last commit.
Change-Id: Ifdede823b99b210ad6a48513e8522b4f660537cf
Change-Id: I1fc3cb491d593d3e28f90278cfc8de5d77852932
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Original commit msg:
sdk: Add pc-bios files for IA qemu emulator
Change-Id: I7f66a192975dc201a5f886e6a5e02b0ca9fbdee0
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Change-Id: I1fc3cb491d593d3e28f90278cfc8de5d77852932
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
This patch removes support for prelinking from the build system. By now, the
prelinker has outlived its usefulness for several reasons. Firstly, the
speedup that it afforded in the early days of Android is now nullified by the
speed of hardware, as well as by the presence of Zygote. Secondly, the space
savings that come with prelinking (measued at 17MB on a recent honeycomb
stingray build) are no longer important either. Thirdly, prelinking reduces
the effectiveness of Address-Space-Layout Randomization. Finally, since it is
not part of the gcc suite, the prelinker needs to be maintained separately.
The patch deletes apriori, soslim, lsd, isprelinked, and iself from the source
tree. It also removes the prelink map.
LOCAL_PRELINK_MODULE becomes a no-op. Individual Android.mk will get cleaned
separately. Support for prelinking will have to be removed from the recovery
code and from the dynamic loader as well.
Change-Id: I5839c9c25f7772d5183eedfe20ab924f2a7cd411
We are deprecating use of AndroidBoard.mk. To move add-radio-file to
Android.mk, cleaning INSTALLED_RADIOIMAGE_TARGET may clean the radio
target set by other Android.mks that get included before
target/board/Android.mk.
Bug: 3500660
Change-Id: Iee19c40c18f0e9ec23bad4b6ab0e600756af615a
It was defaulting to 128M which was slightly too small for all the
applications. Increasing to 150M fits the resulting image.
Change-Id: I55957c54fbdb77090487c08ed3948988621978b3
Without this, HC cannot start under emulation (because some RenderScript-related
classes fail to preload properly during the boot, killing Zygote, even if they
are later never used).
Change-Id: I825051603425df59b9677875eba0ae2a811649ee
The WAPPushManager is a new, optional service for handling WAP Push
over SMS messages. This service allows a carrier to designate a high
priority handler for specific WAP Push over SMS messages without
affecting other WAP Push over SMS, binary SMS, or SMS text messages.
It is also optional, so that it can be configured out of the target
image resulting in no change in the WAP Push over SMS handling
behavior compared to the current AOSP.
- This patch adds the WAPPushManager to the core build.
Change-Id: Ib139a9dca8b18d4cd50b70c041a346584ef96279
Another change adds the "optional" tag to installd, so moving it here
and removing it from the grandfathered list.
Change-Id: I035ffd527d007cf104c15890509976fc9b99d216
Split telephony into its own product, so that we can easily
add telephony support to any configuration without pulling
anything else. Use it from generic.
Split the "full" family between a (no-telephony) base,
a telephony version of the same (both of which can be used
as a starting point for on-device builds), and the true classic
full which is an emulator build.
Change-Id: I616d34f2a29415b8ec997173f8e893c312ade5c2
This splits the existing full.mk in two parts:
-One is the device-independent full_base.mk
-The other is the emulator-specific device.mk
This way we'll be able to inherit from full_base.mk
for on-device builds without any emulator-specific
files getting in the way.
Change-Id: Ieb1f4ed47988c8fff119ff53f1f374032da3752d
libnfc_ndef is the (very small) library to implement NDEF message parsing.
Change-Id: Iab39a0904e1be2eb1fb07ef9f5cef5095c8a5b7b
Signed-off-by: Nick Pelly <npelly@google.com>