1. 参考hardware\qcom\display\libcopybit

通过编译log可以知道编译到这里,生成的copybit.msm8937.so在out\target\product\msm8937_64\system\lib\hw下。libcopybit\Android.mk相关部分如下:

编译相关的log

build/core/Makefile:54: Defined in: hardware/qcom/display/libcopybit/../common.mk hardware/qcom/display/libcopybit/../common.mk

build/core/Makefile:54: Duplicate header copy:

说明build/core/Makefile能找到hardware/qcom/display/libcopybit目录

但我们增加的psam目录,在整个系统编译的时候没有看到这样的log,为什么呢

2.在hardware\qcom增加psam文件夹

目的是想在编译的时候把so拷贝到out\target\product\msm8937_64\system\lib下。用mmm单独编译可以,但是用make整个编译的时候却不会,为什么呢?

先回到前面看看我们参考的hardware\qcom\display\libcopybit下的copybit.msm8937.so怎么拷贝到system\lib\hw下。在device/qcom目录下通过grep -wrn copybit.msm8937,查找结果如下:

找到LIBCOPYBIT += copybit.msm8937,再通过LIBCOPYBIT再找到PRODUCT_PACKAGES += $(LIBCOPYBIT),android编译系统应该就是通过这里知道去编译hardware\qcom\display\libcopybit,这里需要注意copybit.msm8937是libcopybit文件夹下Android.mk中

LOCAL_MODULE                  :=copybit.$(TARGET_BOARD_PLATFORM)的LOCAL_MODULE的值,LOCAL_MODULE的值可以不需要和文件夹名字(libcopybit)一样,但device/qcom/common/base.mk的PRODUCT_PACKAGES += $(LIBCOPYBIT)对应的值必须是和LOCAL_MODULE的值一样。

3. 解决

根据上面的分析,在device/qcom/common/base.mk增加

#LIBPSAM

LIBPSAM := libpsam.so

PRODUCT_PACKAGES += $(LIBPSAM)

hardware\qcom\psam\Android.mk的内容如下:

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE       := libpsam.so
LOCAL_SRC_FILES    := libpsam.so
#LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_MODULE_TAGS  := optional
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_PATH  := $(TARGET_OUT)/lib
include $(BUILD_PREBUILT)

确保LOCAL_MODULE       := libpsam.so和LIBPSAM := libpsam.so的值一样。

Android高通平台下编译时能生成(拷贝)预编译的so到system的lib目录相关推荐

  1. VC 工程中包含 .c 或cpp文件编译时产生的.pch预编译头错误(C1853)

    编写混合  时出现这样错误"fatal error C1853: "Debug\SMS_Test.pch"预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 ...

  2. 安卓(android)6.0高通平台下设备树专题视频讲解【全国独家+设备树视频教程】

    安卓(android)6.0高通平台下设备树专题视频讲解[全国独家+设备树视频教程]                                                      独家拥有 ...

  3. android 学习 解决R.java不能自动生成问题,编译时adb.exe 找不到问题

    android 学习 解决R.java不能自动生成问题,编译时adb.exe 找不到问题 参考文章: (1)android 学习 解决R.java不能自动生成问题,编译时adb.exe 找不到问题 ( ...

  4. vs编译错误:在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h”?

    vs2015编译出现以下错误: 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#include "stdafx.h""? 一.错误分析: 此错误发生 ...

  5. Android使用APT编译时注解生成代码

    1.前言 最近在使用Butterknife的时候感觉它使用的注解挺有意思的,就了解一下,顺便自己花点时间实现一个类似的框架.加深对这块的理解,下面上干货. 2.注解 注解和class.interfac ...

  6. Android高通平台调试Camera驱动全纪录

    项目比较紧,3周内把一个带有外置ISP,MIPI数据通信,800万像素的camera从无驱动到实现客户全部需求. 1日 搭平台,建环境,编译内核,烧写代码. 我是一直在Window下搭个虚拟机登服务器 ...

  7. 请把Camera hold住 - Android高通平台调试Camera驱动全纪录

    项目比较紧,3周内把一个带有外置ISP,MIPI数据通信,800万像素的camera从无驱动到实现客户全部需求. 1日 搭平台,建环境,编译内核,烧写代码. 我是一直在Window下搭个虚拟机登服务器 ...

  8. android 高通平台有前途吗,华为鸿蒙计划要适配高通平台了,可以告别安卓搭载鸿蒙OS了?...

    鸿蒙走出这一步是可以想象到的,看来华为打造这个系统希望的结果是万物皆可盘呀,所以一开始就提出了开源,也就意味着这次是高通,下次就可以是联发科,甚至更多的手机品牌也完全就可以搭载!早期我们一直在说国产手 ...

  9. java编译时注解_Java注解处理器--编译时处理的注解

    1. 一些基本概念 在开始之前,我们需要声明一件重要的事情是:我们不是在讨论在运行时通过反射机制运行处理的注解,而是在讨论在编译时处理的注解. 注解处理器是 javac 自带的一个工具,用来在编译时期 ...

最新文章

  1. NeHe OpenGL第三十五课:播放AVI
  2. id3决策树 鸢尾花 python_决策树算法——集成学的基础!
  3. 中文分词器分词效果的评测方法
  4. 为什么在大型 Angular 应用里我们需要使用 ngrx
  5. mysql5.7主从复制--在线变更复制类型【转】
  6. 关于官方Reachability Demo理解
  7. 安装zabbix步骤
  8. 深度学习需要计算机配置,深度学习工作站配置推荐
  9. opencv 实现等值线_绘制等值线
  10. location属性和prototype属性介绍
  11. HDLC 和PPP 的应用
  12. mac c语言 新手,第1次买Mac必看,新手买Mac全攻略!
  13. 两台手机通过4g网络直接通讯_手机直播只准备了一部手机?难怪直播效果不好!...
  14. AMD EPYC CPU物理机之core(云主机最大可使用内核数)售卖机制 ---- NUMA and NPS使用
  15. 网络安全运维人员面临的痛点分析
  16. execve系统调用
  17. “三地合作社”轧在农民心里的一道沟
  18. apache php 内存,不再为Apache进程淤积、耗尽内存而困扰
  19. 看美剧学英语:《老友记》20句实用英语口语
  20. photoshop扣发丝——就这么简单

热门文章

  1. 创建数据库是列名无效咋办_怎样解决列名无效 - 技术问答 - .Net源码论坛 .net源码,ASP.net|论坛 - Powered by Discuz!NT...
  2. java.lang.IllegalStateException: 启动子级时出错
  3. 交管123缴费显示代理服务器异常,交管12123服务异常怎样办 交管12123 APP服务异常处理办法...
  4. 线性表adt的c语言表达,抽象数据类型定义(ADT)
  5. Android WebView与js交互通信
  6. 最长回文子串动态规划_九章算法 | 微软面试题:最长回文子串
  7. 同一批电脑cpu序列号_新电脑到手后,你会验货吗?怎么检查新电脑?
  8. win服务器发展方向是什么?
  9. Linux命令——find详解
  10. 转[再谈应用环境下的TIME_WAIT和CLOSE_WAIT]