当前位置:   article > 正文

源码编译之Android.mk和Android.bp

android.mk和android.bp

简介

Android.mk和Android.bp都是差不多的。Android.bp是google在android N之后新的编译配置文件。

源码在:build/soong/androidmk
我们在out下面找下androidmk工具,如果没有可以执行命令:m -j blueprint_tools
然后在在out/soong/host/linux-x86/bin/androidmk生成工具

./androidmk  Android.mk > android.bp

基本使用

@/build/soong/androidmk/cmd/androidmk/android.go

  1. 相互转换的定义在:
  2. /build/soong/androidmk/cmd/androidmk/android.go
  3. func init() {
  4. addStandardProperties(bpparser.StringType,
  5. map[string]string{
  6. "LOCAL_MODULE": "name",
  7. "LOCAL_CXX_STL": "stl",
  8. "LOCAL_STRIP_MODULE": "strip",
  9. "LOCAL_MULTILIB": "compile_multilib",
  10. "LOCAL_ARM_MODE_HACK": "instruction_set",
  11. "LOCAL_SDK_VERSION": "sdk_version",
  12. "LOCAL_NDK_STL_VARIANT": "stl",
  13. "LOCAL_JAR_MANIFEST": "manifest",
  14. "LOCAL_JARJAR_RULES": "jarjar_rules",
  15. "LOCAL_CERTIFICATE": "certificate",
  16. "LOCAL_PACKAGE_NAME": "name",
  17. "LOCAL_MODULE_RELATIVE_PATH": "relative_install_path",
  18. "LOCAL_PROTOC_OPTIMIZE_TYPE": "proto.type",
  19. "LOCAL_MODULE_OWNER": "owner",
  20. "LOCAL_RENDERSCRIPT_TARGET_API": "renderscript.target_api",
  21. "LOCAL_NOTICE_FILE": "notice",
  22. "LOCAL_JAVA_LANGUAGE_VERSION": "java_version",
  23. "LOCAL_INSTRUMENTATION_FOR": "instrumentation_for",
  24. "LOCAL_MANIFEST_FILE": "manifest",
  25. "LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING": "dex_preopt.profile",
  26. })

 

-------------------原始Android.mk----packages/apps/Gallery2------------------
LOCAL_PACKAGE_NAME := Gallery2
include $(BUILD_PACKAGE)

-------------------转化后的android.bp------------------
android_app {           //android_app表示编译为app 对应 include $(BUILD_PACKAGE)
    name: "Gallery2",       //name对应  LOCAL_PACKAGE_NAME := Gallery2

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/526368
推荐阅读
相关标签
  

闽ICP备14008679号