1.0 类似例子
android.mk大家都很熟悉了,就是android下编译模块的配置文件,可以理解为android makefile。从android N之后,我们发现好多模块下面没有了android.mk文件,多了一个android.bp文件。这个是google在android N之后新的编译配置文件。在实际项目中,我们需要把android.mk转换为android.bp,还好sdk中给我提供了androidmk工具,可以直接把android.mk转换为android.bp.源码在:build/soong/androidmk,我们在out下面找下androidmk工具,如果没有可以执行命令:m -j blueprint_tools,然后在在out/soong/host/linux-x86/bin/androidmk生成工具。

androidmk  android.mk > android.bp

这样即可把android.mk转换为android.bp文件了,有了这个工具我们很容易的修改android.bp。

比如我们想把某个动态链接的bin改为静态链接,则可如下修改:
cc_binary {
    name: "updater",
    srcs: ["updater.cpp"],
    local_include_dirs: [
        "..",
        "include",
    ],
    cflags: [
        "-Wno-unused-parameter",
        "-Werror",
    ],
    share_libs: ["libupdater"],
}

把里面的动态库链接改为静态链接:share_libs改为static_libs,然后增加:static_executable: true,

cc_binary {     
        name: "updater",     
        srcs: ["updater.cpp"],     
        local_include_dirs: [
            "..",
            "include",
        ],     
        cflags: [
            "-Wno-unused-parameter",
            "-Werror",
        ],     
        static_libs: ["libupdater"],     
        static_executable: true,
    }

然后即可编译出静态链接的bin文件
出自:https://blog.csdn.net/csdn66_2016/article/details/80258627

android.mk转换为android.bp相关推荐

  1. Android 编译过程介绍,Android.mk 和 Android.bp 分析, 在源码中编译 AndroidStudio 构建的 App

    目录 一.Android 编译 1. 编译流程 2. Soong 介绍 3. build.sh 二.Android.mk 解析 三.Android.bp 解析 1. 模块类型 2. 模块属性 四.An ...

  2. 编写Android.mk把Android studio项目编译到AOSP源码中

    前言: 在工作,我们利用Android studio开发apk是非常方便的,当我们要把工程代码放在android 源码中编译的时候,需要我们自己编写Andorid.mk 文件.以下内容是对Androi ...

  3. 【Android 逆向】代码调试器开发 ( 使用 NDK 中的 ndk-build + Android.mk 编译 Android 平台的代码调试器可执行应用 )

    文章目录 一.Android 平台代码调试器代码 二.Android.mk 构建脚本内容 三.Application.mk 构建脚本内容 四.正式编译 五.博客资源 一.Android 平台代码调试器 ...

  4. 【Android.mk】android编译系统makefile文件Android.mk的写法

    (1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件.由于一般情况下 Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式: LOCAL_PATH:=$ ...

  5. android.mk local_cppflags,android.mk中LOCAL_CFLAGS 介绍

    模块描述变量: 下面的变量用于向编译系统描述你的模块.你应该定义在'include $(CLEAR_VARS)'和'include $(BUILD_XXXXX)'之间定义.正如前面描写的那样,$(CL ...

  6. android.mk 冒号,android学习-ndk-build(androidstudio编译cocos2d-x库的cpp为so文件的解释)

    本文不作为ndk初学使用,只是对cpp等c++文件编译成so文件的过程中,参数含义,及ndk配置的解释.使用的技术比较旧. androidStudio使用gradle调用ndk-build工具编译c+ ...

  7. android.mk 条件编译,android openSSL 的苦逼历程

    20180801 调试 Socket 1.按照以前的环境设置,出错了! cd /Users/dhbm/Desktop/lxn/lxntransfer/tests openssl s_server -k ...

  8. Android.mk 分析android buid工程需要的makefile知识点总结

    1.0 make -C /home/wangxiancan/android -f build/core/main.mk all_modules -C 表示进入到某目录 执行(解析)其中的makefil ...

  9. Android 10.0 Andorid.bp 动态编译模块

    android 10 较 android 9而言,使用了很多Android.bp文件替代Android.mk 文件 虽然有工具实现Android.mk转换为 Android.bp文件了 但如果mk文件 ...

最新文章

  1. [原创]使用ajaxFileUpload.js上传文件时附带额外参数。
  2. 卸载 插件_永远都不会卸载的CAD插件,好用到怀疑人生
  3. 一个很好地List实现源码
  4. 固态硬盘可靠性_您可以通过使用较少的总容量来提高硬盘的可靠性吗?
  5. qt如何捕获应用程序输出_企业应用程序中需要捕获的5大Java性能指标
  6. Java处理微博数据集中的超链接
  7. 4g模块注册上网 移远_物联网模组龙头移远通信
  8. DEX VMP与ARM VMP
  9. JavaSocket编程基础
  10. 《精进:如何成为一个很厉害的人》
  11. 云计算与大数据技术应用 第四章
  12. 有奖推荐|BSRC发布IoT安全专家招募令
  13. 阿里软件测试工程师推荐|自动化测试——HTTP之URL
  14. mset redis_Redis MSET 命令
  15. 专升本英语——菜鸟学习笔记【知识点齐全-轻松学习】!!!
  16. 因为此版本的应用程序不支持其项目类型(.csproj)
  17. 【opencv学习笔记】第五篇:访问图像中像素的三种方式、ROI区域图像叠加和图像混合
  18. Nginx和Zuul的区别与关联
  19. 为何一些人认为从事 IT 行业的人是屌丝男?
  20. CSS3小猪佩奇社会猪

热门文章

  1. [UE4] 第三人称Actor,Velocity,Controller方向->绘制-蓝图
  2. 将一个文件夹里面的视频批量转换为图片并保存在同一目录下
  3. ARIMA一阶差分和二阶差分还原
  4. 赣州有哪些计算机高职学校,2018赣州专科学校有哪些最新高职院校名单
  5. idea下载不了maven仓库的jar包(取消离线模式)
  6. 智能停车管理系统C语言
  7. windows中的subst与虚拟驱动器(盘符)
  8. 爬虫实例:天猫商品评论爬虫
  9. (纹理格式)Unity3D研究院之运行时合并ETC1、ETC2、ASTC、DXT1、DXT5、PVRTC贴图(一百)
  10. FRM适合自学吗?自学有哪些劣势?