Android c/c++ 应用向linux 平台迁移执行

鉴于近期在minicamera (linux + FPGA) 平台上模拟 安卓系统camera流程遭遇不断升级同步的困扰。尤其是 不开放源代码后 ,

应用要链接封闭动态库造成的困难。以及在sprdisk上要不断升级对应的minicamera。minicamera 不能随着安卓系统同步升级。

这两个互相交杂在一起的致命问题,严重迟缓了camera 应用和内核驱动的开发測试进度。

在深圳同事的启示下,做最简单的方案尝试

1 将安卓的 c/c++ 应用及其依赖so编译出来。 cp到 buildroot  生成的target 文件夹下的 /bin 和/lib 下

2 将安卓的 linker 这个执行解释器cp 到target 文件夹下的 /bin

这样能够解决安卓不断升级后,封闭源代码和应用 带来的困扰,仅仅需将生成的安卓elf,so 和linker解释器 push到 相关linux 平台測试验证。

不须要再继续在linux平台上另起炉灶生成模拟,又一次编译,同步等的问题。

最彻底的剥离安卓,又能同步到最新其它參考平台的实用信息,实现安卓一个平台的原生code开发。

參考链接:

http://www.linuxidc.com/Linux/2014-03/97499.htm

Linux程序移植到Android上

http://blog.csdn.net/dinuliang/article/details/5509009

android linker 浅析

http://www.cnblogs.com/sdphome/archive/2011/09/14/2176219.html

Android Prelink实现的源代码分析

时间: 2024-10-15 13:20:51

Android c/c++ 应用向linux 平台迁移执行的相关文章

Android c/c++ 应用向linux 平台迁移运行

最简单的方案尝试 1 将安卓的 c/c++ 应用及其依赖so编译出来, cp到 buildroot  生成的target 目录下的 /bin 和/lib 下 2 将安卓的 linker 这个运行解释器cp 到target 目录下的 /bin http://www.linuxidc.com/Linux/2014-03/97499.htm http://blog.csdn.net/dinuliang/article/details/5509009 http://www.cnblogs.com/sdp

Linux平台下使用rman进行oracle数据库迁移

    实验目的:将oracle数据库从一台机器迁移到另外的一台机器(同为linux平台),设置为不同的路径,不同的实例名 源端: ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 ORACLE_SID=test 数据文件位置:/oradata/test 目标端: ORACLE_BASE=/u02/app/oracle ORACLE_HOME=/u02/app/oracle/product/10

利用10g传输表空间实现AIX平台到LINUX平台数据迁移

在 oracle10g 之前,数据文件是不能跨平台传输使用的,从oracle 10g 开始,oracle支持跨平台表空间传输(transport tablespace). 数据文件 不能跨平台的原因是:不同平台操作系统的字.字节存储顺序不同 如果将 4567 这个数据存储到不同的系统中,那么就会出现如下的顺序: little-endian:存储的顺序是7654 , 小数在前 (windows平台,LINUX平台) big-endian:   存储的顺序是 4567 ,大数在前  (solaris

Linux KVM迁移与存储

Linux KVM迁移与存储 1.环境描述: 如图1所示的网络环境,存储挂接到了NFS服务器上,通过交换机共享给了两台服务器KVM1和KVM2,操作系统均为64位的RHEL6.5,均运行着KVM虚拟机软件.要求服务器KVM1与KVM2上的KVM软件都连接到NFS共享存储上,并使用动态迁移的方法将KVM1上运行的KVM虚拟机VM11迁移到KVM2上运行.结果如下: 两台服务器上的KVM能够连接NFS共享存储: 能够基于共享存储新建KVM虚拟机并安装操作系统: 3) 动态迁移正常完成并且业务不中断.

Linux平台oracle 11g单实例 安装部署配置 快速参考

1.重建主机的Oracle用户 组 统一规范 uid gid 以保证共享存储挂接或其他需求的权限规范 userdel -r oracle groupadd -g 500 oinstall groupadd -g 501 dba useradd -g oinstall -G dba -u 500 oracle #id oracle uid=500(oracle) gid=500(oinstall) 组=500(oinstall),501(dba) 2.安装好Oracle 需要的rpm包.安装rpm

SQL Server 首次登陆 Linux 平台

微软 SQL Server 最近达成一个新的里程碑,最新版SQL Server 2017 除了支持 Windows 平台,将首次登陆 Linux 平台,并且还支持 Docker.此举让用户(特别是企业用户)有了更多选择. 2016 年 6 月份,微软就提前预告 SQL Server 将支持 Linux 平台. 近年来, SQL Server 正在一直演化,除了想一改 DMS(数据库管理系统)的角色,还想介入到数据分析.机器学习和数据科学领域.2017 年 4 月份, SQL Server 发布了

[Python 学习] 二、在Linux平台上使用Python

这一节,主要介绍在Linux平台上如何使用Python 1. Python安装. 现在大部分的发行版本都是自带Python的,所以可以不用安装.如果要安装的话,可以使用对应的系统安装指令. Fedora系统:先以root登入,运行 yum install python Ubuntu系统:在root组的用户, 运行 sudo apt-get install python 2. 使用的Python的脚本 Linux是一个以文件为单位的系统,那么我们使用的Python是哪一个文件呢? 这个可以通过指令

在 Linux 平台下使用 JNI

引言 Java 的出现给大家开发带来的极大的方便.但是,如果我们有大量原有的经过广泛测试的非 Java 代码,将它们全部用 Java 来重写,恐怕会带来巨大的工作量和长期的测试:如果我们的应用中需要访问到特定的设备,甚至是仅符合公司内部信息交互规范的设备,或某个特定的操作系统才有的特性,Java 就显得有些力不从心了.面对这些问题,Sun 公司在 JDK1.0 中就定义了 JNI 规范,它规定了 Java 应用程序对本地方法的调用规则. 实现步骤及相关函数使用 本文将一步步说明在 Linux 平

Windows 和 Linux 平台下的端口转发工具

原文地址: http://unmi.cc/windows-linux-port-forwarding/ 这里记录一下我曾经使用过的几个端口转发工具,即端口映射.端口重定向,和 NAT 也是差不多的概念. Linux 下用过 iptables,rinetd:Windows 下用过某个防火墙的 NAT 功能.RemoteAnywhere 的端口重定向.FPipe,还有最近刚找到的 PassPort.试着去设置一下 Windows 2000 的 NAT  功能,但未成功,还是特定的软件简单易用,下面介