当前位置: 首页 > news >正文

蓝色政府网站模板/百度旗下推广平台有哪些

蓝色政府网站模板,百度旗下推广平台有哪些,西安企业网站建设,江苏网站备案流程背景介绍 本篇是一篇实操内容,是对【Android构建系统】如何在Camera Hal的Android.bp中选择性引用某个模块的优化与改进。本篇内容主要想通过一个具体例子介绍Soong构建系统较复杂的定制化方法和步骤,以便在今后的工作学习中更好的使用Soong构建系统。 …

背景介绍

本篇是一篇实操内容,是对【Android构建系统】如何在Camera Hal的Android.bp中选择性引用某个模块的优化与改进。本篇内容主要想通过一个具体例子介绍Soong构建系统较复杂的定制化方法和步骤,以便在今后的工作学习中更好的使用Soong构建系统。

【Android构建系统】如何在Camera Hal的Android.bp中选择性引用某个模块虽然达到了一定的选择效果,从实际使用角度来说

  • 不好用不够灵活
  • 定制化程度很受限
  • 从项目维护角度来说,不够自动化

简短介绍到这里,下面介绍Android Soong构建系统如何实现更复杂的定制。

Soong构建系统(.bp + .go)定制化步骤

实现步骤:

  1. 创建一个.go文件,定义并注册自定义构建模块&处理函数
  2. Android.bp中引用自定义的模块(.go)到soong构建系统 (后边会补充些理解)
  3. Android.bp中使用自定义.go中定义的模块
  4. 导出编译控制开关或者变量  (这步是根据实际需要可有可无)

实例:根据构建条件添加预编译宏CAMERA_ENABLE_HW_PROCESS

1.创建my_custom.go,定义并注册模块

//hardware/google/camera/devices/EmulatedCamera/hwl/my_custom.go
package my_customimport ("android/soong/android""android/soong/cc"
)func init() {android.RegisterModuleType("my_custom_defaults", customDefaultsFactory)
}func customDefaultFactory()(android.Module) {module := cc.DefaultsFactory()android.AddLoadHook(module, appendAospBuildParams)return module
}func appendAospBuildParams(ctx android.LoadHookContext) {type props struct {Cflags []string}p := &props{}p.Cflags = globalDefaults(ctx)ctx.AppendProperties(p)
}func globalDefaults(ctx android.BaseContext)([]string) {var cppflags []stringif ctx.AConfig().Getenv("ANDROIDBP_CUSTOM") == "YES" {cppflags = append(cppflags, "-DCAMERA_ENABLE_HW_PROCESS")}return cppflags
}

2.Android.bp中导入自定义的模块

//hardware/google/camera/devices/EmulatedCamera/hwl/Android.bp文件头添加如下,
bootstrap_go_package {                     //这里将自定义的构建模块加到Soong构建系统name: "soong-my_custom",pkgPath: "android/soong/my_custom",deps: ["blueprint","blueprint-pathtools","soong","soong-android","soong-cc","soong-genrule",],srcs: ["my_custom.go",],pluginFor: ["soong_build"],
}

3.Android.bp中引用自定义的模块

//hardware/google/camera/devices/EmulatedCamera/hwl/Android.bp
my_custom_defaults {name: "custom_cflags_defaults",
}cc_library_static {name: "libgooglecamera_process",owner: "google",proprietary: true,host_supported: false,srcs: ["a_wrapper.cpp","image_processor.cpp",],header_libs: ["libgui_aidl_headers","arm_gralloc_headers",],static_libs: ["vendor.hardware.camera.hwprocess",],shared_libs: ["libui","libdmabufheap",],include_dirs: ["system/media/private/camera/include","frameworks/native/libs/ui/include/","frameworks/native/include/","vendor/google/hardware/modules/gralloc/android/src","system/memdory/libdmabufheap/include","external/libyuv/include",],export_include_dirs: ["."],cflags: ["-Werror","-Wextra","-Wall",],target: {android_arm64: {enabled: true,},android_x86_64: {enabled: false,},},
}

4.导出开关或者变量

my_custom.go中获取的ANDROIDBP_CUSTOM可以有多种方法导出,例如:

  • 执行构建命令前,export ANDROIDBP_CUSTOM=TRUE
  • 在打包脚本中(如device/google/gs201/device.mk,device/google/gs201/BoardConfig-common.mk) export ANDROIDBP_CUSTOM=TRUE

5.测试与结果

由于当前没有vendor.hardware.a-V1-ndk,只打开CAMERA_ENABLE_HW_PROCESS会在编译阶段出现未定义错误。

http://www.whsansanxincailiao.cn/news/30250380.html

相关文章:

  • 网站的关键词库怎么做/中央新闻
  • 网站产品页如何做优化/竹子建站官网
  • 网站建设需要什么语言/seo超级外链
  • 北京建站管理系统价格/新媒体营销策略有哪些
  • wordpress 产品筛选/seo优化步骤
  • 怎么注册晋江网站做的/为企业策划一次网络营销活动
  • 有哪些做PPT背景网站/百度搜索指数
  • 做网站美工赚钱吗/大连网络推广公司哪家好
  • 网站模板 登陆/信阳网站推广公司
  • 什么系统做网站好/小说引流推广
  • 网页设计素材网站集/百度推广咨询
  • 日本做H网站/免费b2b网站推广有哪些
  • 备案用的网站建设方案书/百度网盘在线登录
  • 哪个网站做app/2023年度最火关键词
  • 用子域名可以做网站吗/关键词如何排名在首页
  • 企业网络解决方案/口碑优化seo
  • 免费的独立w站有哪些/石家庄seo按天扣费
  • 宝安专业网站建设/福建搜索引擎优化
  • 提升了自己的网站/广州搜索排名优化
  • 网站中医建设/郑州做网站的专业公司
  • c在线编程网站/网站排名掉了怎么恢复
  • 动态网站开发基础体会/青岛网站快速排名提升
  • 广州新型冠状病毒最新消息/微博seo营销
  • 做网站和做阿里巴巴/网络营销顾问是做什么的
  • 网站侧边栏/网站收录排名
  • 网页首页怎么设计/seo站
  • 做韩国网站/seo优化咨询
  • 剑灵代做装备网站/网站首页不收录
  • 虹口网站制作/深圳全网推广托管
  • 怎么做网站评论/磁力蜘蛛