android.mk转换为android.bp

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文件


你可能感兴趣的:(android)