当前位置: 首页 > news >正文

Android.bp 和 Android.mk 的对应关系

参考 Soong 构建系统

Android.mk 转为 Android.bp

没有分支、循环等流程控制的简单的 Android.mk ,可以通过 androidmk 命令转化为 Android.bp
source 、lunch 之后执行即可。

androidmk Android.mk > Android.bp

对应关系

Android 13 ,build/soong/androidmk/androidmk/android.go

对应关系如下,方便用到的时候查询

StandardProperties

func init() {addStandardProperties(bpparser.StringType,map[string]string{"LOCAL_MODULE":                  "name","LOCAL_CXX_STL":                 "stl","LOCAL_MULTILIB":                "compile_multilib","LOCAL_ARM_MODE_HACK":           "instruction_set","LOCAL_SDK_VERSION":             "sdk_version","LOCAL_MIN_SDK_VERSION":         "min_sdk_version","LOCAL_NDK_STL_VARIANT":         "stl","LOCAL_JAR_MANIFEST":            "manifest","LOCAL_CERTIFICATE":             "certificate","LOCAL_CERTIFICATE_LINEAGE":     "lineage","LOCAL_PACKAGE_NAME":            "name","LOCAL_MODULE_RELATIVE_PATH":    "relative_install_path","LOCAL_PROTOC_OPTIMIZE_TYPE":    "proto.type","LOCAL_MODULE_OWNER":            "owner","LOCAL_RENDERSCRIPT_TARGET_API": "renderscript.target_api","LOCAL_JAVA_LANGUAGE_VERSION":   "java_version","LOCAL_INSTRUMENTATION_FOR":     "instrumentation_for","LOCAL_MANIFEST_FILE":           "manifest","LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING": "dex_preopt.profile","LOCAL_TEST_CONFIG":                      "test_config","LOCAL_RRO_THEME":                        "theme",})addStandardProperties(bpparser.ListType,map[string]string{"LOCAL_SRC_FILES":                     "srcs","LOCAL_SRC_FILES_EXCLUDE":             "exclude_srcs","LOCAL_HEADER_LIBRARIES":              "header_libs","LOCAL_SHARED_LIBRARIES":              "shared_libs","LOCAL_STATIC_LIBRARIES":              "static_libs","LOCAL_WHOLE_STATIC_LIBRARIES":        "whole_static_libs","LOCAL_SYSTEM_SHARED_LIBRARIES":       "system_shared_libs","LOCAL_USES_LIBRARIES":                "uses_libs","LOCAL_OPTIONAL_USES_LIBRARIES":       "optional_uses_libs","LOCAL_ASFLAGS":                       "asflags","LOCAL_CLANG_ASFLAGS":                 "clang_asflags","LOCAL_COMPATIBILITY_SUPPORT_FILES":   "data","LOCAL_CONLYFLAGS":                    "conlyflags","LOCAL_CPPFLAGS":                      "cppflags","LOCAL_REQUIRED_MODULES":              "required","LOCAL_HOST_REQUIRED_MODULES":         "host_required","LOCAL_TARGET_REQUIRED_MODULES":       "target_required","LOCAL_OVERRIDES_MODULES":             "overrides","LOCAL_LDLIBS":                        "host_ldlibs","LOCAL_CLANG_CFLAGS":                  "clang_cflags","LOCAL_YACCFLAGS":                     "yacc.flags","LOCAL_SANITIZE_RECOVER":              "sanitize.recover","LOCAL_LOGTAGS_FILES":                 "logtags","LOCAL_EXPORT_HEADER_LIBRARY_HEADERS": "export_header_lib_headers","LOCAL_EXPORT_SHARED_LIBRARY_HEADERS": "export_shared_lib_headers","LOCAL_EXPORT_STATIC_LIBRARY_HEADERS": "export_static_lib_headers","LOCAL_INIT_RC":                       "init_rc","LOCAL_VINTF_FRAGMENTS":               "vintf_fragments","LOCAL_TIDY_FLAGS":                    "tidy_flags",// TODO: This is comma-separated, not space-separated"LOCAL_TIDY_CHECKS":           "tidy_checks","LOCAL_RENDERSCRIPT_INCLUDES": "renderscript.include_dirs","LOCAL_RENDERSCRIPT_FLAGS":    "renderscript.flags","LOCAL_JAVA_RESOURCE_DIRS":    "java_resource_dirs","LOCAL_JAVA_RESOURCE_FILES":   "java_resources","LOCAL_JAVACFLAGS":            "javacflags","LOCAL_ERROR_PRONE_FLAGS":     "errorprone.javacflags","LOCAL_DX_FLAGS":              "dxflags","LOCAL_JAVA_LIBRARIES":        "libs","LOCAL_STATIC_JAVA_LIBRARIES": "static_libs","LOCAL_JNI_SHARED_LIBRARIES":  "jni_libs","LOCAL_AAPT_FLAGS":            "aaptflags","LOCAL_PACKAGE_SPLITS":        "package_splits","LOCAL_COMPATIBILITY_SUITE":   "test_suites","LOCAL_OVERRIDES_PACKAGES":    "overrides","LOCAL_ANNOTATION_PROCESSORS": "plugins","LOCAL_PROGUARD_FLAGS":      "optimize.proguard_flags","LOCAL_PROGUARD_FLAG_FILES": "optimize.proguard_flags_files",// These will be rewritten to libs/static_libs by bpfix, after their presence is used to convert// java_library_static to android_library."LOCAL_SHARED_ANDROID_LIBRARIES": "android_libs","LOCAL_STATIC_ANDROID_LIBRARIES": "android_static_libs","LOCAL_ADDITIONAL_CERTIFICATES":  "additional_certificates",// Jacoco filters:"LOCAL_JACK_COVERAGE_INCLUDE_FILTER": "jacoco.include_filter","LOCAL_JACK_COVERAGE_EXCLUDE_FILTER": "jacoco.exclude_filter","LOCAL_FULL_LIBS_MANIFEST_FILES": "additional_manifests",// will be rewrite later to "license_kinds:" by byfix"LOCAL_LICENSE_KINDS": "android_license_kinds",// will be removed later by byfix// TODO: does this property matter in the license module?"LOCAL_LICENSE_CONDITIONS": "android_license_conditions","LOCAL_GENERATED_SOURCES":  "generated_sources",})addStandardProperties(bpparser.BoolType,map[string]string{// Bool properties"LOCAL_IS_HOST_MODULE":             "host","LOCAL_CLANG":                      "clang","LOCAL_FORCE_STATIC_EXECUTABLE":    "static_executable","LOCAL_NATIVE_COVERAGE":            "native_coverage","LOCAL_NO_CRT":                     "nocrt","LOCAL_ALLOW_UNDEFINED_SYMBOLS":    "allow_undefined_symbols","LOCAL_RTTI_FLAG":                  "rtti","LOCAL_PACK_MODULE_RELOCATIONS":    "pack_relocations","LOCAL_TIDY":                       "tidy","LOCAL_USE_CLANG_LLD":              "use_clang_lld","LOCAL_PROPRIETARY_MODULE":         "proprietary","LOCAL_VENDOR_MODULE":              "vendor","LOCAL_ODM_MODULE":                 "device_specific","LOCAL_PRODUCT_MODULE":             "product_specific","LOCAL_PRODUCT_SERVICES_MODULE":    "product_specific","LOCAL_SYSTEM_EXT_MODULE":          "system_ext_specific","LOCAL_EXPORT_PACKAGE_RESOURCES":   "export_package_resources","LOCAL_PRIVILEGED_MODULE":          "privileged","LOCAL_AAPT_INCLUDE_ALL_RESOURCES": "aapt_include_all_resources","LOCAL_DONT_MERGE_MANIFESTS":       "dont_merge_manifests","LOCAL_USE_EMBEDDED_NATIVE_LIBS":   "use_embedded_native_libs","LOCAL_USE_EMBEDDED_DEX":           "use_embedded_dex","LOCAL_DEX_PREOPT":                  "dex_preopt.enabled","LOCAL_DEX_PREOPT_APP_IMAGE":        "dex_preopt.app_image","LOCAL_DEX_PREOPT_GENERATE_PROFILE": "dex_preopt.profile_guided","LOCAL_PRIVATE_PLATFORM_APIS": "platform_apis","LOCAL_JETIFIER_ENABLED":      "jetifier","LOCAL_IS_UNIT_TEST": "unit_test","LOCAL_ENFORCE_USES_LIBRARIES": "enforce_uses_libs","LOCAL_CHECK_ELF_FILES": "check_elf_files",})
}

moduleTypes

var moduleTypes = map[string]string{"BUILD_SHARED_LIBRARY":        "cc_library_shared","BUILD_STATIC_LIBRARY":        "cc_library_static","BUILD_HOST_SHARED_LIBRARY":   "cc_library_host_shared","BUILD_HOST_STATIC_LIBRARY":   "cc_library_host_static","BUILD_HEADER_LIBRARY":        "cc_library_headers","BUILD_EXECUTABLE":            "cc_binary","BUILD_HOST_EXECUTABLE":       "cc_binary_host","BUILD_NATIVE_TEST":           "cc_test","BUILD_HOST_NATIVE_TEST":      "cc_test_host","BUILD_NATIVE_BENCHMARK":      "cc_benchmark","BUILD_HOST_NATIVE_BENCHMARK": "cc_benchmark_host","BUILD_JAVA_LIBRARY":             "java_library_installable", // will be rewritten to java_library by bpfix"BUILD_STATIC_JAVA_LIBRARY":      "java_library","BUILD_HOST_JAVA_LIBRARY":        "java_library_host","BUILD_HOST_DALVIK_JAVA_LIBRARY": "java_library_host_dalvik","BUILD_PACKAGE":                  "android_app","BUILD_RRO_PACKAGE":              "runtime_resource_overlay","BUILD_CTS_EXECUTABLE":          "cc_binary",               // will be further massaged by bpfix depending on the output path"BUILD_CTS_SUPPORT_PACKAGE":     "cts_support_package",     // will be rewritten to android_test by bpfix"BUILD_CTS_PACKAGE":             "cts_package",             // will be rewritten to android_test by bpfix"BUILD_CTS_TARGET_JAVA_LIBRARY": "cts_target_java_library", // will be rewritten to java_library by bpfix"BUILD_CTS_HOST_JAVA_LIBRARY":   "cts_host_java_library",   // will be rewritten to java_library_host by bpfix
}

prebuiltTypes

var prebuiltTypes = map[string]string{"SHARED_LIBRARIES": "cc_prebuilt_library_shared","STATIC_LIBRARIES": "cc_prebuilt_library_static","EXECUTABLES":      "cc_prebuilt_binary","JAVA_LIBRARIES":   "java_import","APPS":             "android_app_import","ETC":              "prebuilt_etc",
}
http://www.lryc.cn/news/267743.html

相关文章:

  • 力扣-收集足够苹果的最小花园周长[思维+组合数]
  • 【C语言】自定义类型:结构体深入解析(三)结构体实现位段最终篇
  • 基于Hexo+GitHub Pages 的个人博客搭建
  • 7. 结构型模式 - 代理模式
  • 挑战Python100题(6)
  • gin实现登录逻辑,包含cookie,session
  • 云原生Kubernetes:K8S集群版本升级(v1.22.14 - v1.23.14)
  • C++面向对象(OOP)编程-位运算详解
  • linux运行服务提示报错/usr/bin/java: 没有那个文件或目录
  • 一篇文章教会你数据仓库之详解拉链表怎么做
  • C/S医院检验LIS系统源码
  • 项目应用多级缓存示例
  • 音视频技术开发周刊 | 325
  • 量化服务器 - 后台挂载运行
  • 使用tesla gpu 加速大模型,ffmpeg,unity 和 UE等二三维应用
  • 巅峰画师Midjourney:新时代的独角兽
  • 入行 4 年,跳槽 2 次,我摸透了软件测试这一行!
  • Hive01_安装部署
  • 解决国内大模型痛点的最佳实践方案
  • 当文字成为雨滴:HTML、CSS、JS创作炫酷的“文字雨“动画!
  • 计算机网络简述
  • Go 泛型之类型参数
  • KafkaLog4jAppender
  • IntelliJ IDEA插件
  • 鸿蒙开发中的坑(持续更新……)
  • 单体项目-动态上下文问题
  • Qt/QML编程学习之心得:实现一个图片浏览器(十八)
  • kafka发送大消息
  • React AntDesign form表单文件上传 nodejs formidable 接受参数并把文件放置后端项目相对目录指定文件夹下面
  • 设计模式之-6大设计原则简单易懂的理解以及它们的适用场景和代码示列