Android.bp 语法,设置-g, debug

Android.bp 语法和使用-CSDN博客

Android.bp文件简介_local_include_dirs-CSDN博客

Android.bp解析与使用看这篇就够了 - 知乎 (zhihu.com)

Android.bp Build Docs (android-8.0.0-r9) · 零壹軒·笔记

Android.bp详解+入门必备-CSDN博客

cc_library_shared {
    name: "libun7zip",
    srcs: [
        "7z/*.c",
        "7z/src/*.c",
    ],
    local_include_dirs: [
        "7z/src/",
    ],
    vendor: true,
}

同时,Android.mk可以引用Android.bp中的模块,反之Android.bp不能引用Android.mk中的模块。

说明
cc_library_shared :编译成动态库,类似于Android.mk中的BUILD_SHARED_LIBRARY
cc_binary:编译成可执行文件,类似于Android.mk中的BUILD_EXECUTABLE

name :编译出的模块的名称,类似于Android.mk中的LOCAL_MODULE
srcs:源文件,类似于Android.mk中的LOCAL_SRC_FILES
local_include_dirs:指定路径查找头文件,类似于Android.mk中的LOCAL_C_INCLUDES
shared_libs:编译所依赖的动态库,类似于Android.mk中的LOCAL_SHARED_LIBRARIES
static_libs:编译所依赖的静态库,类似于Android.mk中的LOCAL_STATIC_LIBRARIES

cflags:编译flag,类似于Android.mk中的LOCAL_CFLAGS

注释
Android.bp使用单行注释//和多行注释/* */两种方式。

安卓bp文件详解_android.bp-CSDN博客

1.5、编译成Native静态库
Android.mk
include $(BUILD_STATIC_LIBRARY)

Android.bp
cc_library_static {
......
}

设置debug

cc_binary {
    name: "your_module_name",
    srcs: ["your_source_file.c"],
    cflags: ["-g"],
}


cppflags: ["-g"]

cflags: ["-g"],  # 强制添加调试信息的编译选项  

ldflags: ["-g"], # 强制添加调试信息的链接选项 


     strip: {
        none: true,
    },

在这个例子中,cc_binary是一个构建规则,用于生成C语言的可执行文件。name是模块的名称,srcs是源代码文件列表,cflags是编译选项数组,包含-g标志。

-g是GCC编译器的一个选项,用于生成调试信息,使得使用像GDB这样的调试器时能够对应用程序进行源码级调试。

请注意,这个设置只适用于本地代码,对于Android应用项目中的Java代码,通常使用Android Studio和其内置的调试工具进行调试,不需要在编译过程中添加特殊的调试选项。

vintf_fragments

清单  |  Android Open Source Project

init_rc

Android 10 根文件系统和编译系统(二十):Android.bp预编译_android.bp prebuilt-CSDN博客

shared_libs

Android.bp详解+入门必备-CSDN博客

Android.bp文件是Android 7.0及更高版本中引入的一种构建脚本文件,用于描述和管理项目的编译过程。下面是Android.bp文件的一些详解:

概述:Android.bp文件是使用Starlark语法编写的,它是一种基于Python的轻量级脚本语言。Android.bp文件用于定义模块和构建规则,与之前的Android.mk文件相比,更加灵活和易于维护。

模块定义:Android.bp文件中可以定义多个模块,每个模块都有一个唯一的模块名。模块可以是可执行文件、静态库、共享库等。通过cc_library、cc_binary等函数来定义模块。

源文件定义:Android.bp文件中使用srcs参数来指定模块的源文件。可以使用通配符来匹配多个文件,如[“*.cpp”]表示所有的cpp文件。

编译选项:Android.bp文件中可以指定编译选项,如指定编译器、编译标志等。通过cflags、cppflags、ldflags等参数来设置。

依赖关系:Android.bp文件中可以指定模块的依赖关系,即一个模块依赖于其他模块。通过shared_libs、static_libs等参数来指定依赖的共享库或静态库。

目标文件生成:Android.bp文件中可以指定生成的目标文件的名称和路径。通过name、installable等参数来设置。

其他功能:Android.bp文件还支持其他一些功能,如指定需要编译的源文件、排除某些源文件、指定编译器、链接器等。可以通过查阅Android.bp文件的官方文档或相关教程来了解更多功能和用法。

总之,Android.bp文件是Android 7.0及更高版本中引入的一种构建脚本文件,用于管理项目的编译过程。通过编写Android.bp文件,可以定义模块的编译选项、依赖关系和生成的目标文件等。这样可以更灵活地管理和组织项目的代码和资源。

3、Android.bp的其他知识

6、shared_libs、static_libs:指定模块的动态链接库和静态链接库的依赖关系。

https://www.cnblogs.com/hellokitty2/p/10595618.html

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值