blob: dd3c6f6a952ba46263958083d1ff66380853118a [file] [log] [blame]
Clay Murphy84887ed2013-10-29 11:45:49 -07001page.title=Introducing ART
2@jd:body
3
4<!--
5 Copyright 2013 The Android Open Source Project
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18-->
19<p>
20ART is a new Android runtime being introduced experimentally in the 4.4
21release. This is a preview of work in progress in KitKat that can be turned on
22in Settings &gt; developer options. This is available for the purpose of
23obtaining early developer and partner feedback.</p>
24
25<p><strong>Important</strong>: Dalvik must remain the default runtime or
26you risk breaking your Android implementations and third-party applications.</p>
27
28<p>
29Two runtimes are now available, the existing Dalvik runtime (libdvm.so) and the
30ART (libart.so). A device can be built using either or both.
31(You can dual boot from Developer options if both are installed.)
32</p>
33
34<p>
35The <code>dalvikvm</code> command line tool can run with either of them now.
36See runtime_common.mk. That is included from build/target/product/runtime_libdvm.mk or
37build/target/product/runtime_libdvm.mk or both.</p>
38
39<p>
40A new <code>PRODUCT_RUNTIMES</code> variable controls which runtimes
41are included in a build. Include it within either
42build/target/product/core_minimal.mk or build/target/product/core_base.mk.
43</p>
44
45<p>
46Add this to the device makefile to have both runtimes
47built and installed, with Dalvik as the default:
48</br>
49<code>PRODUCT_RUNTIMES := runtime_libdvm_default</code>
50</br>
51<code>PRODUCT_RUNTIMES += runtime_libart</code>
52</p>