一、序言
Android源码里边提供了快捷直接Android.mk转换成Android.bp的工具:androidmk
二、androidmk的源码和位置
首先让我们从androidmk的框架和源码如下来说起,我们知道Android的最新编译系统的文件架构如下:
xxx@Ubuntu16-Model:~/ssd/qcom_64/msm8953-9$ ls -l build
total 16
drwxr-xr-x 14 xxx pd 4096 Feb 17 14:18 blueprint
lrwxrwxrwx 1 xxx pd 25 Feb 20 11:17 buildspec.mk.default -> make/buildspec.mk.default
lrwxrwxrwx 1 xxx pd 17 Feb 20 11:17 CleanSpec.mk -> make/CleanSpec.mk
lrwxrwxrwx 1 xxx pd 9 Feb 20 11:17 core -> make/core
lrwxrwxrwx 1 xxx pd 16 Feb 20 11:17 envsetup.sh -> make/envsetup.sh
drwxr-xr-x 5 xxx pd 4096 Feb 17 14:18 kati
drwxr-xr-x 6 xxx pd 4096 Feb 20 15:05 make
drwxr-xr-x 21 xxx pd 4096 Feb 20 15:08 soong
lrwxrwxrwx 1 xxx pd 11 Feb 20 11:17 target -> make/target
lrwxrwxrwx 1 xxx pd 10 Feb 20 11:17 tools -> make/tools
而我们的androidmk的源码目录位置如下:
xxx@Ubuntu16-Model:~/ssd/qcom_64/msm8953-9$ ls -l build/soong/androidmk/
total 12
-rw-r--r-- 1 xxx pd 1302 Feb 17 14:18 Android.bp
drwxr-xr-x 3 xxx pd 4096 Feb 17 14:18 cmd
drwxr-xr-x 2 xxx pd 4096 Feb 17 14:18 parser
androidmk文件的位置如下(/out/soong/host/linux-x86/bin/androidmk):