本文转载自:http://blog.csdn.net/kris_fei/article/details/78923784

Platform: RK3399 
OS: Android 7.1 
Board: Firefly-RK3399

需求: 
系统HAL的camera库camera.rk30board.so使用的是32位版本的。 
而单独编译模块(命令是#make camera.rk30board_32 -j8 )出来却只有64位版本,位于 system/lib64/hw下面。

理论上根据Android.mk的规则应该是32和64都会编译的,不过单独编译模块的时候可能只包含了64位版本的处理。如官方的一句话所说:

Android.mk

ifneq ($(strip $(TARGET_2ND_ARCH)), )
LOCAL_MULTILIB := both //表示32和64版本都编译
endif
  • 1
  • 2
  • 3

解决方法

#make camera.rk30board_32 -j8

Build Log:

[ 64% 9/14] target SharedLib: camera.rk30board_32 (out/target/product/rk3399_firefly_edp_box/obj_arm/SHARED_LIBRARIES/camera.rk30board_intermediates/LINKED/camera.rk30board.so)
[ 71% 10/14] target Pack Relocations: camera.rk30board_32 (out/target/product/rk3399_firefly_edp_box/obj_arm/SHARED_LIBRARIES/camera.rk30board_intermediates/PACKED/camera.rk30board.so)
[ 78% 11/14] target Symbolic: camera.rk30board_32 (out/target/product/rk3399_firefly_edp_box/symbols/system/lib/hw/camera.rk30board.so)
[ 85% 12/14] target Strip: camera.rk30board_32 (out/target/product/rk3399_firefly_edp_box/obj_arm/lib/camera.rk30board.so)
[100% 14/14] Install: out/target/product/rk3399_firefly_edp_box/system/lib/hw/camera.rk30board.so
[100% 14/14] build out/target/product/rk3399_firefly_edp_box/obj_arm/lib/camera.rk30board.so.toc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
 
1

0

[RK3399][Android7.1] 调试笔记 --- 模块编译32位动态库【转】的更多相关文章

  1. MacPorts安装32位动态库

    http://superuser.com/questions/63198/install-32-bits-ports-on-snow-leopard

  2. 9.下载ffmpeg、使QT支持同时编译32位和64位

    1.FFMPEG下载 进入http://ffmpeg.org/download.html,如果下载源码,则在右下方: 如果在linux中,直接输入git clone https://git.ffmpe ...

  3. 【原创】在Windows系统中使用VC9、VC11编译32位、64位PHP及其扩展

    项目中需要使用runkit模块实现AOP,但是团队成员的开发环境都是Windows,而runkit模块官方没有提供Windows环境下的dll扩展,只能自己编译. 下面是编译过程的分类总结.(操作系统 ...

  4. 高级C/C++编译技术之读书笔记(三)之动态库设计

    最近有幸阅读了<高级C/C++编译技术>深受启发,该书深入浅出地讲解了构建过程(编译.链接)中的各种细节,从多个角度展示了程序与库文件或代码的集成方法,提出了面向代码复用和系统集成的软件架 ...

  5. <摘录>如何在64位linux强制编译32位应用程序

    GDC注:因为需要解决在linux64机上编译32位的mongodb(没办法,因为编译的php是32位,然后我想将mongdb扩展添加到php中),在网上搜了很多文章,感觉这篇好懂,而且好用.我使用的 ...

  6. hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

    相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...

  7. hadoop2.5发布:最新编译 32位、64位安装、源码包、API以及新特性

    hadoop2.5发布:最新编译 32位.64位安装.源码包.API以及新特性 http://www.aboutyun.com/thread-8751-1-1.html (出处: about云开发) ...

  8. 64位ubuntu编译32位程序

      最近在64位ubuntu上开发,需要编译32位程序,需要安装这两个包,然后在编译器参数加上-m32.不放心的话可以用ldd或file查看一下是否生成了对应位数的程序. $ apt-get inst ...

  9. 在64位linux下编译32位程序

    在64位linux下编译32位程序 http://blog.csdn.net/xsckernel/article/details/38045783

随机推荐

  1. LightOJ1106 Gone Fishing

    Gone Fishing John is going on a fishing trip. He has h hours available, and there are n lakes in the ...

  2. jsp、Html页面注释的种类

    <!-- 这里面的注释在查看页面源代码时,依旧可以看到,另外页面加载时这里面注释的内容仍旧会编译 --> <%-- JSP中的注释,这里面的内容在查看页面源代码时,看不到这里面注释书 ...

  3. Linux shell中的竖线(|)——管道符号

    管道符号,是unix一个很强大的功能,符号为一条竖线:"|". 用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为comma ...

  4. Google解决跨域

    1.添加   --disable-web-security --user-data-dir=D:\tmp 2.在D的根目录新建tmp文件夹

  5. Elixir与编辑器安装

    安装 Elixir 每个操作系统的安装说明可以在 elixir-lang.org 网站上 Installing Elixir 部分找到. 安装后你可以很轻松地确认所安装的版本. ~$:elixir - ...

  6. python入门示例程序

    该实例是raspi和dsp电机运动控制板的串口uart通信: import serial class SerialHandler(): ''' raspi serial for communicati ...

  7. Java并发编程关键字synchronized的总结

    一.对synchronized的了解 synchronized关键字解决的是多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行. ...

  8. 多个Nginx如何实现集群(没具体方案,只是初步探究)

    场景: Nginx+Web服务器可以实现负载均衡,但是一台Nginx也是有限的,如果并非量高的话,在他的上层如何实现负载均衡. 如果是DNS或者CDN的话,建多个机房,势必有多个机房数据同步的问题. ...

  9. Ubuntu下使用UFW配置防火墙(简化iptables的操作)

    UFW全称为Uncomplicated Firewall,是Ubuntu系统上配置iptables防火墙的工具.UFW提供一个非常友好的命令用于创建基于IPV4,IPV6的防火墙规则. 但是,UFW是 ...

  10. iOS的应用程序实现之间的内容分享

    前言 我们在iOS的平台上想要实现不同应用之间的内容分享一般有几种常用方式: 一种第的英文通过AirDrop实现不同设备的应用之间文档和数据的分享; 第二种是给每个应用程序定义一个URL方案,通过访问 ...