1 <html devsite><head> 2 <title> 64 </title> 3 <meta name="project_path" value="/_project.yaml"/> 4 <meta name="book_path" value="/_book.yaml"/> 5 </head> 6 <body> 7 <!-- 8 Copyright 2017 The Android Open Source Project 9 10 Licensed under the Apache License, Version 2.0 (the "License"); 11 you may not use this file except in compliance with the License. 12 You may obtain a copy of the License at 13 14 http://www.apache.org/licenses/LICENSE-2.0 15 16 Unless required by applicable law or agreed to in writing, software 17 distributed under the License is distributed on an "AS IS" BASIS, 18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 See the License for the specific language governing permissions and 20 limitations under the License. 21 --> 22 23 <h2 id="overview"></h2> 24 25 <p> CPU 64 32 <em></em></p> 26 27 <p> (<code>PRODUCT_PACKAGES</code>) </p> 28 29 <p> 64 <code>BoardConfig.mk</code> </p> 30 31 <p class="caution"><strong></strong> 32 64 API <code>android:multiarch</code> <code>true</code></p> 32 33 <h2 id="product_configuration"></h2> 34 35 <p> <code>BoardConfig.mk</code> CPU ABI</p> 36 37 <pre class="prettyprint"> 38 TARGET_2ND_ARCH 39 TARGET_2ND_ARCH_VARIANT 40 TARGET_2ND_CPU_VARIANT 41 TARGET_2ND_CPU_ABI 42 TARGET_2ND_CPU_ABI2 43 </pre> 44 45 <p> <code>build/target/board/generic_arm64/BoardConfig.mk</code> </p> 46 47 <p> 32 </p> 48 49 <pre class="prettyprint"> 50 TARGET_PREFER_32_BIT := true 51 </pre> 52 53 <p> <code>Android.mk</code> </p> 54 55 <p><code>PRODUCT_PACKAGES</code> 32 64 32 32 64 </p> 56 57 <p><code>make</code> 64 <code>lunch 58 aosp_arm64-eng</code> <code>make libc</code> 64 32 <code>make libc_32</code></p> 59 60 <h2 id="module_definition_in_android_mk">Android.mk </h2> 61 62 <p> <code>LOCAL_MULTILIB</code> 32 64 <code>TARGET_PREFER_32_BIT</code> </p> 63 64 <p> <code>LOCAL_MULTILIB</code> </p> 65 66 <ul> 67 <li>both 32 64 </li> 68 <li>32 32 </li> 69 <li>64 64 </li> 70 <li>first 32 32 64 64 </li> 71 <li> <code>LOCAL_</code> <code>LOCAL_MODULE_TARGET_ARCH</code><code>LOCAL_32_BIT_ONLY</code> </li> 72 </ul> 73 74 <p><code>ifeq $(TARGET_ARCH)</code> </p> 75 76 <p></p> 77 78 <ul> 79 <li><code>LOCAL_MODULE_TARGET_ARCH</code><br />arm x86 arm64</li> 80 81 <li><code>LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH</code><br /><code>LOCAL_MODULE_TARGET_ARCH</code> </li> 82 </ul> 83 84 <p></p> 85 86 <ul> 87 <li><code>LOCAL_MODULE_TARGET_ARCH_WARN</code></li> 88 <li><code>LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH_WARN</code></li> 89 </ul> 90 91 <p></p> 92 93 <p> <code>LOCAL_</code> <code>LOCAL_</code> <code>LOCAL_</code> </p> 94 95 <ul> 96 <li> <code>LOCAL_SRC_FILES_arm, LOCAL_SRC_FILES_x86,</code> 97 </li><li> <code>LOCAL_CFLAGS_arm, LOCAL_CFLAGS_arm64,</code> 98 </li><li> <code>LOCAL_LDFLAGS_arm, LOCAL_LDFLAGS_arm64,</code> 99 </li></ul> 100 101 <p></p> 102 103 <p> 32 64 <code>_32</code> <code>_64</code> <code>LOCAL_</code> </p> 104 105 <ul> 106 <li> <code>LOCAL_SRC_FILES_32, LOCAL_SRC_FILES_64,</code> 107 </li><li> <code>LOCAL_CFLAGS_32, LOCAL_CFLAGS_64,</code> 108 </li><li> <code>LOCAL_LDFLAGS_32, LOCAL_LDFLAGS_64,</code> 109 </li></ul> 110 111 <p> <code>LOCAL_</code> <code>build/core/clear_vars.mk</code></p> 112 113 <h2 id="install_path"></h2> 114 115 <p> <code>LOCAL_MODULE_PATH</code> <code>LOCAL_MODULE_PATH := 116 $(TARGET_OUT_SHARED_LIBRARIES)/hw</code></p> 117 118 <p> <code>LOCAL_MODULE_RELATIVE_PATH</code></p> 119 120 <pre class="prettyprint"> 121 LOCAL_MODULE_RELATIVE_PATH := hw 122 </pre> 123 124 <p> 64 32 </p> 125 126 <p> 32 64 </p> 127 128 <ul> 129 <li><code>LOCAL_MODULE_STEM_32, LOCAL_MODULE_STEM_64</code><br /> 130 </li><li><code>LOCAL_MODULE_PATH_32, LOCAL_MODULE_PATH_64</code><br /> 131 </li></ul> 132 133 <h2 id="generated_sources"></h2> 134 135 <p> <code>$(local-intermediates-dir)</code> <code>$(intermediates-dir-for) 136 </code> 32 64 <code>$(local-intermediates-dir)</code> </p> 137 138 <p> <code> 139 $(local-generated-sources-dir)</code> <code>$(generated-sources-dir-for)</code> <code>$(local-intermediates-dir)</code> <code>$(intermediates-dir-for)</code> </p> 140 141 <p> <code>LOCAL_GENERATED_SOURCES</code> 32 64 </p> 142 143 <h2 id="prebuilts"></h2> 144 145 <p> <code>TARGET_ARCH</code> <code>TARGET_2ND_ARCH</code> <code>LOCAL_</code> <code>LOCAL_MODULE_TARGET_ARCH</code> <code>LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH</code></p> 146 147 <p> 64 32 </p> 148 149 <p><code> $(get-prebuilt-src-arch)</code></p> 150 151 <h2 id="dex-preopt">Dex-preopt</h2> 152 153 <p> 64 Java 32 64 odex APK 64 odex 32 64 <code>LOCAL_MULTILIB := both</code> 32 64 odex 32 64 JNI </p> 154 155 </body></html>