版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/u010164190/article/details/87804592


    1. 源码在:build/soong/androidmk

    2. 编译源码后,androidmk生成工具位置

    out/soong/host/linux-x86/bin/androidmk

    1. 使用命令

    栗子:Android.mk

    1. LOCAL_PATH:= $(call my-dir)
    2. include $(CLEAR_VARS)
    3. LOCAL_PRIVATE_PLATFORM_APIS := true
    4. LOCAL_MODULE_TAGS := optional
    5. LOCAL_CERTIFICATE := platform
    6. LOCAL_SRC_FILES := $(call all-java-files-under, src)
    7. LOCAL_PACKAGE_NAME := test
    8. LOCAL_DEX_PREOPT := false
    9. include $(BUILD_PACKAGE)

    # androidmk Android.mk > Android.bp

    Android.bp生成如下:

    1. android_app {
    2. // LOCAL_PRIVATE_PLATFORM_APIS := true
    3. certificate: "platform",
    4. srcs: ["src/**/*.java"],
    5. name: "test",
    6. dex_preopt: {
    7. enabled: false,
    8. },
    9. }
    1. 禁止framework/base/Android.bp生成odex

      1. java_library {
      2. name: "framework",
      3. //禁止生成odex
      4. dex_preopt: {
      5. enabled: false,
      6. },
      7. srcs: []
      8. }
    2. 编译可执行程序:Android.mk——>Android.np

    <1>.Android.mk

    1. LOCAL_PATH := $(call my-dir)
    2. include $(CLEAR_VARS)
    3. #LOCAL_C_INCLUDES:= external/tinyalsa/include
    4. #LOCAL_CPPFLAGS := -std=c++11 -Wall -Werror #C++
    5. LOCAL_MODULE_TAGS := optional
    6. LOCAL_MODULE := test_bb
    7. LOCAL_SRC_FILES := test.c
    8. LOCAL_CFLAGS += -Wall -Werror
    9. LOCAL_SHARED_LIBRARIES:= libcutils libutils
    10. include $(BUILD_EXECUTABLE)

    # androidmk Android.mk > Android.bp

    <2>.Android.bp

    1. cc_binary {
    2. //LOCAL_C_INCLUDES:= external/tinyalsa/include
    3. //LOCAL_CPPFLAGS := -std=c++11 -Wall -Werror #C++
    4. name: "test_bb",
    5. srcs: ["test.c"],
    6. cflags: [
    7. "-Wall",
    8. "-Werror",
    9. ],
    10. shared_libs: [
    11. "libcutils",
    12. "libutils",
    13. ],
    14. }