当前位置: 首页 > 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",
}

相关文章:

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

参考 Soong 构建系统 Android.mk 转为 Android.bp 没有分支、循环等流程控制的简单的 Android.mk ,可以通过 androidmk 命令转化为 Android.bp source 、lunch 之后执行即可。 androidmk Android.mk > Android.bp对应关系 Android 13 ,build/soon…...

力扣-收集足够苹果的最小花园周长[思维+组合数]

题目链接 题意: 给你一个用无限二维网格表示的花园,每一个 整数坐标处都有一棵苹果树。整数坐标 (i, j) 处的苹果树有 |i| |j| 个苹果。 你将会买下正中心坐标是 (0, 0) 的一块 正方形土地 ,且每条边都与两条坐标轴之一平行。 给你一个整…...

【C语言】自定义类型:结构体深入解析(三)结构体实现位段最终篇

文章目录 📝前言🌠什么是位段?🌉 位段的内存分配🌉VS怎么开辟位段空间呢?🌉位段的跨平台问题🌠 位段的应⽤🌠位段使⽤的注意事项🚩总结 📝前言 本…...

基于Hexo+GitHub Pages 的个人博客搭建

基于HexoGitHub Pages 的个人博客搭建 步骤一:安装 Node.js 和 Git步骤二:创建Github Pages 仓库步骤二:安装 Hexo步骤三:创建 Hexo 项目步骤四:配置 Hexo步骤五:创建新文章步骤六:生成静态文件…...

7. 结构型模式 - 代理模式

亦称: Proxy 意图 代理模式是一种结构型设计模式, 让你能够提供对象的替代品或其占位符。 代理控制着对于原对象的访问, 并允许在将请求提交给对象前后进行一些处理。 问题 为什么要控制对于某个对象的访问呢? 举个例子&#xff…...

挑战Python100题(6)

100+ Python challenging programming exercises 6 Question 51 Define a class named American and its subclass NewYorker. Hints: Use class Subclass(ParentClass) to define a subclass. 定义一个名为American的类及其子类NewYorker。 提示:使用class Subclass(Paren…...

gin实现登录逻辑,包含cookie,session

users/login.html {{define "users/login.html"}} <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>登录页面</title> </head> <body><form method"post" a…...

云原生Kubernetes:K8S集群版本升级(v1.22.14 - v1.23.14)

目录 一、理论 1.K8S集群升级 2.环境 3.升级集群&#xff08;v1.23.14&#xff09; 4.验证集群&#xff08;v1.23.14&#xff09; 二、实验 1. 环境 2.升级集群&#xff08;v1.23.14&#xff09; 2.验证集群&#xff08;v1.23.14&#xff09; 一、理论 1.K8S集群升级 …...

C++面向对象(OOP)编程-位运算详解

本文主要介绍原码、位运算的种类&#xff0c;以及常用的位运算的使用场景。 目录 1 原码、反码、补码 2 有符号和无符号数 3 位运算 4 位运算符使用规则 4.1 逻辑移位和算术移位 4.1.1 逻辑左移和算法左移 4.1.2 逻辑右移和算术右移 4.1.3 总结 4.2 位运算的应用场景 …...

linux运行服务提示报错/usr/bin/java: 没有那个文件或目录

如果是直接从官网下载的jdk解压安装&#xff0c;那么/usr/bin/没有java的软连接&#xff0c;即/usr/bin/java&#xff0c;所以即使在/etc/profile中配置了jdk的环境变量也没用&#xff0c;识别不到。 方法一&#xff1a;用java的执行路径配置/usr/bin/java软连接&#xff08;优…...

一篇文章教会你数据仓库之详解拉链表怎么做

前言 本文将会谈一谈在数据仓库中拉链表相关的内容&#xff0c;包括它的原理、设计、以及在我们大数据场景下的实现方式。 全文由下面几个部分组成&#xff1a; 先分享一下拉链表的用途、什么是拉链表。通过一些小的使用场景来对拉链表做近一步的阐释&#xff0c;以及拉链表和…...

C/S医院检验LIS系统源码

一、检验科LIS系统概述&#xff1a; LIS系统即实验室信息管理系统。LIS系统能实现临床检验信息化&#xff0c;检验科信息管理自动化。其主要功能是将检验科的实验仪器传出的检验数据经数据分析后&#xff0c;自动生成打印报告&#xff0c;通过网络存储在数据库中&#xff…...

项目应用多级缓存示例

前不久做的一个项目&#xff0c;需要在前端实时展示硬件设备的数据。设备很多&#xff0c;并且每个设备的数据也很多&#xff0c;总之就是数据很多。同时&#xff0c;设备的刷新频率很快&#xff0c;需要每2秒读取一遍数据。 问题来了&#xff0c;我们如何读取数据&#xff0c…...

音视频技术开发周刊 | 325

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 AI读心术震撼登顶会&#xff01;模型翻译脑电波&#xff0c;人类思想被投屏&#xff5c;NeurIPS 2023 在最近举办的NeurIPS大会上&#xff0c;研究人员展示了当代AI更震撼…...

量化服务器 - 后台挂载运行

服务器 - 后台运行 pip3命令被kill 在正常的pip命令后面加上 -no-cache-dir tmux 使用教程 https://codeleading.com/article/40954761108/ 如果你希望在 tmux 中后台执行一个 Python 脚本&#xff0c;你可以按照以下步骤操作&#xff1a; 启动 tmux: tmux这将会创建一个新…...

使用tesla gpu 加速大模型,ffmpeg,unity 和 UE等二三维应用

我们知道tesla gpu 没有显示器接口&#xff0c;那么在windows中怎么使用加速unity ue这种三维编辑器呢&#xff0c;答案就是改变注册表来加速相应的三维渲染程序. 1 tesla gpu p40 p100 加速 在windows中使用regedit 来改变 核显配置&#xff0c; 让p100 p40 等等显卡通过核显…...

巅峰画师Midjourney:新时代的独角兽

介绍 AI绘画领域中&#xff0c;Midjourney处于绝对地位&#xff0c;并且一年时间就登顶。 Midjourney是一家独立的AI研究实验室,探索新的思维媒介,拓展人类的想象力。 它由一个小型的自筹资金团队组成,专注于设计、人类基础设施和AI。 在AI绘画领域,Midjourney取得了非常突出…...

入行 4 年,跳槽 2 次,我摸透了软件测试这一行!

最近几年行业在如火如荼的发展壮大&#xff0c;以及其他传统公司都需要大批量的软件测试人员&#xff0c;但是最近几年的疫情导致大规模裁员&#xff0c;让人觉得行业寒冬已来&#xff0c;软件测试人员的职业规划值得我们深度思考。 大家都比较看好软件测试行业&#xff0c;只是…...

Hive01_安装部署

Hive的安装 上传安装包 解压 tar zxvf apache-hive-3.1.2-bin.tar.gz mv apache-hive-3.1.2-bin hive解决Hive与Hadoop之间guava版本差异 cd /export/software/hive/ rm -rf lib/guava-19.0.jarcp cp /export/software/hadoop/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0…...

解决国内大模型痛点的最佳实践方案

1.前言 自AI热潮掀起以来&#xff0c;国内互联网大厂躬身入局&#xff0c;各类机构奋起追赶&#xff0c;创业型企业纷至沓来。业内戏称&#xff0c;一场大模型的“百模大战”已经扩展到“千模大战”。 根据近期中国科学技术信息研究所发布的《中国人工智能大模型地图研究报告…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...