Android源码(AOSP)中C/C++常用库和头文件位置

2023-05-16

Android中间层或底层开发中,有很多是natvie开发的,需要使用native的库。这里整理了AOSP中native库和头文件分散的几个主要位置。以供参考。
以下目录都是以aosp源码作为根目录,显示的项目路径。

1. bionic/

包括CPU平台、操作系统内核、C语言运行时支持、C标准库相关函数

android-changes-for-ndk-developers.md  docs        OWNERS
Android.mk                             libc        PREUPLOAD.cfg
apex                                   libdl       README.md
benchmarks                             libfdtrack  TEST_MAPPING
build                                  libm        tests
CleanSpec.mk                           libstdc++   tools
CPPLINT.cfg                            linker

2. hardware/

broadcom  interfaces  libhardware         qcom
google    invensense  libhardware_legacy  ril

3. hardware/interfaces/

这个子目录很重要,单独列出。比如automotive目录下包含车机开发中用到的can信号等硬件通信相关代码。

Android.bp              fastboot                PREUPLOAD.cfg
atrace                  gatekeeper              radio
audio                   gnss                    rebootescrow
authsecret              graphics                renderscript
automotive              health                  secure_element
biometrics              identity                sensors
bluetooth               input                   soundtrigger
boot                    ir                      TEST_MAPPING
broadcastradio          keymaster               tests
camera                  light                   tetheroffload
cas                     media                   thermal
CleanSpec.mk            memtrack                tv
common                  MODULE_LICENSE_APACHE2  update-base-files.sh
compatibility_matrices  neuralnetworks          update-makefiles.sh
configstore             nfc                     usb
confirmationui          NOTICE                  vibrator
contexthub              oemlock                 vr
current.txt             OWNERS                  weaver
drm                     power                   wifi
dumpstate               prebuilt_hashes

4. system/

系统底层运行时支持,以及相关支持库。例如hidl、hwbinder等。

apex              incremental_delivery  netd
bpf               iorap                 nfc
bpfprogs          keymaster             nvram
bt                libartpalette         security
ca-certificates   libfmq                sepolicy
chre              libhidl               server_configurable_flags
connectivity      libhwbinder           teeui
core              libsysprop            testing
extras            libufdt               timezone
gatekeeper        libvintf              tools
gsid              linkerconfig          update_engine
hardware          media                 vold
hwservicemanager  memory

5. system/core/

这个子目录比较重要,很多获取native系统级能力的库都在这个目录下,其中也包括一些native层的进程或服务。如fastboot、logd等。

adb               libcutils             llkd
Android.bp        libdiskconfig         logcat
base              libgrallocusage       logd
bootstat          libion                logwrapper
CleanSpec.mk      libkeyutils           MODULE_LICENSE_APACHE2
cli-test          liblog                NOTICE
code_coverage     libmodprobe           OWNERS
cpio              libnetutils           PREUPLOAD.cfg
debuggerd         libpackagelistparser  property_service
deprecated-adf    libprocessgroup       qemu_pipe
diagnose_usb      libprocinfo           reboot
fastboot          libqtaguid            rootdir
fs_mgr            libsparse             run-as
gatekeeperd       libstats              sdcard
healthd           libsuspend            set-verity-state
include           libsync               shell_and_utilities
init              libsystem             storaged
janitors          libsysutils           TEST_MAPPING
libappfuse        libunwindstack        toolbox
libasyncio        libusbhost            trusty
libbacktrace      libutils              usbd
libbinderwrapper  libvndksupport        watchdogd
libcrypto_utils   libziparchive

6. external/

系统中用到的第三方开源库,一共有300多个库,列举几个常见的:

curl
dagger2
googletest
google-protobuf
okhttp
libcxx
llvm
volley
valkan-headers
zxing
# 完整列表
aac                      conscrypt       fsck_msdos            jcommander          libiio                  mockftpserver        python                        tinyxml
adeb                     cpu_features    fsverity-utils        jdiff               libjpeg-turbo           mockito              rappor                        tinyxml2
adhd                     cpuinfo         FXdiv                 jemalloc            libkmsxx                mockwebserver        Reactive-Extensions           toolchain-utils
android-clat             crcalc          gemmlowp              jemalloc_new        libldac                 modp_b64             replicaisland                 toybox
androidplot              cros            gflags                jline               libmpeg2                mp4parser            rmi4utils                     tremolo
angle                    crosvm          giflib                jsilver             libnetfilter_conntrack  mtpd                 robolectric-shadows           turbine
ant-glob                 curl            glide                 jsmn                libnfnetlink            nanohttpd            roboto-fonts                  u-boot
antlr                    dagger2         golang-protobuf       json-c              libnl                   nanopb-c             rootdev                       ukey2
ant-wireless             deqp            google-benchmark      jsoncpp             libogg                  naver-fonts          rust                          unicode
apache-commons-bcel      deqp-deps       google-breakpad       jsr305              libopus                 neon_2_sse           scapy                         universal-tween-engine
apache-commons-compress  desugar         google-fonts          jsr330              libpcap                 neven                scrypt                        v4l2_codec2
apache-commons-math      dexmaker        google-fruit          junit               libphonenumber          newfs_msdos          scudo                         v8
apache-harmony           dlmalloc        google-styleguide     junit-params        libpng                  nfacct               seccomp-tests                 vboot_reference
apache-http              dng_sdk         googletest            kernel-headers      libprotobuf-mutator     nist-pkits           selinux                       virglrenderer
apache-xml               dnsmasq         gptfdisk              kmod                libsrtp2                nist-sip             setupcompat                   vixl
arm-neon-tests           doclava         grpc-grpc             kotlinc             libtextclassifier       nos                  setupdesign                   vogar
arm-optimized-routines   dokka           grpc-grpc-java        kotlinx.coroutines  libunwind               noto-fonts           sfntly                        volley
arm-trusted-firmware     drm_hwcomposer  guava                 ksoap2              libunwind_llvm          oauth                shaderc                       vulkan-headers
autotest                 drrickorang     guice                 libaom              libusb                  objenesis            shflags                       vulkan-validation-layers
avb                      dtc             gwp_asan              libavc              libutf                  oj-libjdwp           skia                          walt
bc                       dynamic_depth   hamcrest              libbackup           libvpx                  okhttp               skqp                          wayland
bcc                      e2fsprogs       harfbuzz_ng           libbrillo           libvterm                one-true-awk         sl4a                          wayland-protocols
blktrace                 easymock        honggfuzz             libcap              libxaac                 opencensus-java      slf4j                         webp
boringssl                eigen           hyphenation-patterns  libcap-ng           libxkbcommon            OpenCL-CTS           smali                         webrtc
bouncycastle             elfutils        icu                   libchrome           libxml2                 OpenCSD              snakeyaml                     wpa_supplicant_8
brotli                   emma            igt-gpu-tools         libcups             libyuv                  openssh              sonic                         wycheproof
bsdiff                   error_prone     image_io              libcxx              linux-kselftest         oss-fuzz             sonivox                       xmp_toolkit
bzip2                    ethtool         ImageMagick           libcxxabi           llvm                    owasp                speex                         XNNPACK
caliper                  exoplayer       ims                   libdaemon           lmfit                   parameter-framework  sqlite                        xz-embedded
capstone                 expat           iperf3                libdivsufsort       ltp                     pcre                 squashfs-tools                xz-java
catch2                   f2fs-tools      iproute2              libdrm              lua                     pdfium               strace                        yapf
cblas                    fastrpc         ipsec-tools           libepoxy            lz4                     perfetto             stressapptest                 zlib
cbor-java                fdlibm          iptables              libese              lzma                    piex                 subsampling-scale-image-view  zopfli
chromium-libpac          fec             iputils               libevent            markdown                ply                  swiftshader                   zxing
chromium-trace           flac            iw                    libexif             mdnsresponder           ppp                  tagsoup
chromium-webview         flatbuffers     jacoco                libffi              mesa3d                  proguard             tcpdump
clang                    fmtlib          jarjar                libfuse             mime-support            protobuf             tensorflow
cldr                     fonttools       javaparser            libgav1             minigbm                 psimd                testng
cn-cbor                  FP16            javapoet              libgsm              minijail                pthreadpool          tinyalsa
compiler-rt              freetype        javasqlite            libhevc             mksh                    puffin               tinycompress
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android源码(AOSP)中C/C++常用库和头文件位置 的相关文章

随机推荐

  • ubuntu 设置不了分辨率 解决方法

    要设置xorg conf xff0c ubuntu12 04默认没有这个文件 xff0c 所以要生成它 先ctrl xff0b alt xff0b f1切到文字模式 xff0c 停掉Xwindow服务 xff0c 执行 sudo etc i
  • Android Banner2.1.0

    由于最近更新了studio xff0c 好多东西需要更新 xff0c 那就彻底一点吧 xff0c banner原来用的1 4 9的 xff0c 新版的更新了好多 xff0c 之前的方法不能用了 xff0c 不多说直接上代码 依赖 xff1a
  • Ubuntu:如何显示系统托盘图标(systray)

    1 问题说明 Ubuntu 11版本开始 xff0c 默认关闭了托盘图标的显示 xff0c 需要手动执行命令或额外工具配置 xff0c 添加到白名单 Ubuntu 13 04更彻底 xff0c 默认配置根本没有托盘图标 xff0c 除了ja
  • 火锅店连锁企业使用哪款生鲜管理系统软件比较好呢?

    到目前为止 xff0c 餐饮行业的发展越来越好 xff0c 不管是节假日还是平常的日子里 xff0c 基本上餐馆总是会有很多人 xff0c 相比较来说连锁店铺的管理对于一般店铺来说更加的繁琐 xff0c 那是因为大多数的商品都是由总部统一配
  • 2021-10-26OriginPro 2021 v9.8如何修改为中文

    OriginPro 2021 v9 8如何修改为中文 xff1f 知乎 zhihu com https zhuanlan zhihu com p 376311895 按照这个方法亲测有效
  • Android 启动模式singleTask和onNewIntent什么时候调用

    设置启动模式我们不仅可以节省内存的使用 xff0c 还能达到更好的体验 如果IntentActivity处于任务栈的顶端 xff0c 也就是说之前打开过的Activity xff0c 现在处于 onPause onStop 状态的话 其他应
  • Centos7里在gnome桌面创建文件夹快捷方式

    需求 我的home文件夹特别小 xff0c 空间都分配在 data里 xff0c 所以我平常都是到 data路径下 所以我想在桌面上放一个可以直接到 data路径下的快捷键 STEP1 首先是到一个合适的地方 我放在了 data syste
  • 硬盘被格式化重装系统,以前的文件还能恢复吗

    硬盘被格式化重装系统 以前的文件还能恢复吗 今天早上起来就发现电脑有点问题 xff0c 一直提示我有中毒的迹象 xff0c 但是杀毒软件却一直提示我没有问题 xff0c 不知道是不是病毒太过新颖 xff0c 还是免费的杀毒软件不够好用 一阵
  • 聊聊mac系统的 secoclient和iTerm2

    secoclient是啥 xff0c 就是华为出品的VPN网络设置工具 可以连接其他公司的服务器 下载地址 xff1a https secoclient updatestar com 网上百度secoclient下载 xff0c 有很多 x
  • Android Selinux介绍,如何添加selinux 权限

    Selinux简介 SELinux是安全增强型 Linux xff08 Security Enhanced Linux xff09 简称 SELinux 它是一个 Linux 内核模块 xff0c 也是 Linux 的一个安全子系统 优势
  • android 启动app event log

    pid 951 为system server 进程 1 冷启动 Time pid TAG Messag 01 20 33 418 951 wm stack created 22 01 20 33 421 951 wm task create
  • ASP.NET 实现主题切换实例

    通常我们经常看到网页 xff0c 一些软件提供换肤功能 xff0c 各种主题间切换 ASP NET 2 0 中可以用Theme和skin以及CSS轻松实现这个功能 首先简单介绍一下三种技术 xff1a 主题 xff08 Theme xff0
  • MacBook远程控制工具VNC Viewer_亲测使用

    MacBook远程控制工具VNC Viewer 亲测使用 官方下载地址 https www realvnc com en connect download viewer MacBook远程桌面Windows使用Microsoft Remot
  • Android注解(annotation)介绍及其应用

    我的新书 Android App开发入门与实战 已于2020年8月由人民邮电出版社出版 xff0c 欢迎购买 点击进入详情 文章目录 介绍自定义注解注解的应用 xff1a 反射注解的应用 xff1a APT其它 介绍 Annotation
  • Maven配置本地仓库 Maven项目使用本地仓库

    Maven配置本地仓库 Maven项目使用本地仓库 项目部署或开发环境没有外网的情况下 需要配置本地仓库 由于是在内网环境 xff0c maven无法连接互联网 xff0c 所以只能事先将jar下载到本地 xff0c 然后通过配置pom文件
  • Shell脚本

    做 Java 的肯定都接触过 Linux 系统 xff0c 那么很多时候我们在开发的过程中都是把我们项目打成一个jar包 xff0c 或者是war包的形式 xff0c 然后通过 XFTP 上传到我们服务器的指定目录 xff0c 然后运行一端
  • Android开发工具——ADB(Android Debug Bridge) <三>DalvikVM之jdwp线程

    jdwp java debug wire protocol 是dalvik VM的一个线程 xff0c 可以建立在adb或者tcp基础上 xff0c 与DDMS或debugger进行通信 代码位置 dalvik vm jdwp framew
  • Python if else语句用法规范(注意事项)

    在使用 if elif else 条件语句时 xff0c 需要初学者根据实际应用场景 xff0c 自行设计表达式和代码块 xff0c 而在这两部分中 xff0c 有些细节需要初学者注意 1 代码块不要忘记缩进 代码块一定要缩进 xff0c
  • Android源码编译失败,没有具体错误信息

    错误现象 编译Android源码 xff0c 时不时就会编译不过 xff0c 而且没有具体的报错信息 xff0c error log soong log中没有任何具体的错误信息 xff0c 和make时打印出来的信息一样 参见下图 此时 x
  • Android源码(AOSP)中C/C++常用库和头文件位置

    Android中间层或底层开发中 xff0c 有很多是natvie开发的 xff0c 需要使用native的库 这里整理了AOSP中native库和头文件分散的几个主要位置 以供参考 以下目录都是以aosp源码作为根目录 xff0c 显示的