Home | History | Annotate | Download | only in product
      1 #
      2 # Copyright (C) 2013 The Android Open Source Project
      3 #
      4 # Licensed under the Apache License, Version 2.0 (the "License");
      5 # you may not use this file except in compliance with the License.
      6 # You may obtain a copy of the License at
      7 #
      8 #      http://www.apache.org/licenses/LICENSE-2.0
      9 #
     10 # Unless required by applicable law or agreed to in writing, software
     11 # distributed under the License is distributed on an "AS IS" BASIS,
     12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 # See the License for the specific language governing permissions and
     14 # limitations under the License.
     15 #
     16 
     17 # Provides a functioning ART environment without Android frameworks
     18 
     19 ifeq ($(TARGET_CORE_JARS),)
     20 $(error TARGET_CORE_JARS is empty; cannot update PRODUCT_PACKAGES variable)
     21 endif
     22 
     23 # Minimal boot classpath. This should be a subset of PRODUCT_BOOT_JARS, and equivalent to
     24 # TARGET_CORE_JARS.
     25 PRODUCT_PACKAGES += \
     26     $(TARGET_CORE_JARS)
     27 
     28 # Additional mixins to the boot classpath.
     29 PRODUCT_PACKAGES += \
     30     android.test.base \
     31 
     32 # Why are we pulling in ext, which is frameworks/base, depending on tagsoup and nist-sip?
     33 PRODUCT_PACKAGES += \
     34     ext \
     35 
     36 # Why are we pulling in expat, which is used in frameworks, only, it seem?
     37 PRODUCT_PACKAGES += \
     38     libexpat \
     39 
     40 # Libcore.
     41 PRODUCT_PACKAGES += \
     42     libjavacore \
     43     libopenjdk \
     44 
     45 # Libcore ICU. TODO: Try to figure out if/why we need them explicitly.
     46 PRODUCT_PACKAGES += \
     47     libicui18n \
     48     libicuuc \
     49 
     50 # ART.
     51 PRODUCT_PACKAGES += art-runtime
     52 # ART/dex helpers.
     53 PRODUCT_PACKAGES += art-tools
     54 
     55 # Certificates.
     56 PRODUCT_PACKAGES += \
     57     cacerts \
     58 
     59 PRODUCT_PACKAGES += \
     60     hiddenapi-package-whitelist.xml \
     61 
     62 PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
     63     dalvik.vm.image-dex2oat-Xms=64m \
     64     dalvik.vm.image-dex2oat-Xmx=64m \
     65     dalvik.vm.dex2oat-Xms=64m \
     66     dalvik.vm.dex2oat-Xmx=512m \
     67     dalvik.vm.usejit=true \
     68     dalvik.vm.usejitprofiles=true \
     69     dalvik.vm.dexopt.secondary=true \
     70     dalvik.vm.appimageformat=lz4
     71 
     72 PRODUCT_PROPERTY_OVERRIDES += \
     73     ro.dalvik.vm.native.bridge=0
     74 
     75 # Different dexopt types for different package update/install times.
     76 # On eng builds, make "boot" reasons only extract for faster turnaround.
     77 ifeq (eng,$(TARGET_BUILD_VARIANT))
     78     PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
     79         pm.dexopt.first-boot=extract \
     80         pm.dexopt.boot=extract
     81 else
     82     PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
     83         pm.dexopt.first-boot=quicken \
     84         pm.dexopt.boot=verify
     85 endif
     86 
     87 # The install filter is speed-profile in order to enable the use of
     88 # profiles from the dex metadata files. Note that if a profile is not provided
     89 # or if it is empty speed-profile is equivalent to (quicken + empty app image).
     90 PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
     91     pm.dexopt.install=speed-profile \
     92     pm.dexopt.bg-dexopt=speed-profile \
     93     pm.dexopt.ab-ota=speed-profile \
     94     pm.dexopt.inactive=verify \
     95     pm.dexopt.shared=speed
     96 
     97 # Enable minidebuginfo generation unless overridden.
     98 PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
     99     dalvik.vm.dex2oat-minidebuginfo=true
    100