`
JasonShieh
  • 浏览: 528466 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

centOS搭建android交叉编译环境

 
阅读更多
首先查看android手机主板的位数:
adb shell getprop ro.product.cpu.abi
自己的手机结果是:arm64-v8a

用的是虚拟机virtualBox, 还得传文件,简历主机和虚拟机的共享文件夹
1.设备--->共享文件夹
宿主机 共享路径:E:\project,   共享文件夹名称project
2.    mkdir /mnt/share    //新建挂载点(mountpoint)
        mount -t vboxsf project  /mnt/share   // 挂载共享文件夹
       cd /mnt/share    进入共享文件夹
       OK

3.实现 开机挂载:
vi ~/.bashrc
在最后添加
        mount -t vboxsf sharing /mnt/share    挂载共享文件夹

由于使用了NDK编译的可执行文件在应用中调用,在4.4及之前的版本上一直没出问题。最近由于要测试在Android L上的运行情况发现,当运行该可执行文件时,报如下错误:

error: only position independent executables (PIE) are supported.

PIE这个安全机制从4.1引入,但是android L之前的系统版本并不会去检验可执行文件是否基于PIE编译出的。因此不会报错。但是Android L已经开启验证,如果调用的可执行文件不是基于PIE方式编译的,则无法运行。解决办法非常简单,在Android.mk中加入如下flag就行。

LOCAL_CFLAGS += -pie -fPIE
LOCAL_LDFLAGS += -pie -fPIE
分享到:
评论

相关推荐

    CentOS7系统下的ARM交叉编译工具

    在Linux开发环境中,...总之,这个“CentOS7系统ARM交叉编译工具”压缩包提供了在CentOS7环境下进行ARM程序开发所需的基础。通过正确配置和使用这些工具,开发者可以高效地创建、编译和调试适用于ARM设备的应用程序。

    CentOS7系统QT交叉编译工具

    本篇文章将深入探讨如何在CentOS7系统上搭建用于ARM开发板的QT交叉编译环境。 首先,我们需要理解什么是交叉编译。交叉编译是在一种架构(如x86的CentOS7)上编译出另一种架构(如ARM)可执行程序的过程。在本案例...

    arm linux交叉编译环境的建立 傻瓜教程(超详细)

    为了搭建一个完整的ARM Linux交叉编译环境,我们需要下载并准备以下几个关键组件: 1. **Linux Kernel** - 文件名:`Linux-2.6.10.tar.gz` - 下载地址:`ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-...

    Centos 7/qt 之搭建arm交叉编译环境-附件资源

    Centos 7/qt 之搭建arm交叉编译环境-附件资源

    适用于centos 8 的gcc编译环境

    标题 "适用于centos 8 的gcc编译环境" 指出我们要讨论的是在CentOS 8操作系统上安装和配置GCC编译环境的过程。GCC(GNU Compiler Collection)是GNU项目的一部分,它是一套包含了C、C++、Objective-C、Fortran、Ada...

    Win7安装交叉编译环境

    ARM-linux的交叉编译环境,一般的教程都是在linux系统(比如ubuntu)上安装linaro的arm-linux-gnueabihf编译环境,然后再安装Eclipse和CDT,这样来实现交叉编译环境的安装。 我个人使用这种方法已经使用了几年了,...

    libpcap交叉编译

    在开始编译libpcap之前,需要首先配置交叉编译环境。这包括安装必要的软件包,如m4、flex和bison,并将交叉编译器的路径添加到PATH环境变量中。这样可以确保编译器可以找到正确的头文件和库文件。 下载和解压...

    安装aarch64交叉编译工具并交叉编译iperf3.1.3.docx

    在本文档中,我们将深入探讨如何在CentOS 7环境下为aarch64(也称为arm64)架构安装交叉编译工具,并使用这些工具交叉编译iperf3.1.3版本。iperf3是一个网络性能测试工具,用于测量TCP和UDP的带宽以及延迟性能。 ...

    CentOS7环境下编译的boost 1.69静态库和动态库

    本篇将详细讲解如何在CentOS7环境下编译Boost 1.69版本的静态库和动态库,并探讨其在实际应用中的重要性。 首先,让我们了解Boost库。Boost库是由C++社区开发的一系列开源库,旨在提升C++的效率、灵活性和可移植性...

    Centos7 环境下部署Jenkins 构建Android apk

    Centos7 环境下配置Jenkins,按照文档操作步骤能够搭建自己的Android打包服务器,解放程序员,让测试来打包,提高工作效率。

    CentOS7环境下编译的libwebsockets动态库和静态库

    本篇将详细解析如何在CentOS 7环境下编译libwebsockets动态库和静态库,并探讨其在实际应用中的价值。 首先,让我们了解一下libwebsockets库。libwebsockets是一个C语言编写的WebSocket库,它支持HTTP和WebSocket...

    centos搭建安卓模拟器实现自动化抓包分析

    在CentOS上,我们首先需要安装Java Development Kit (JDK),因为Android SDK依赖于Java环境。然后,下载并安装Android SDK。可以通过命令行工具或直接从官方网站下载SDK Tools的zip文件。解压后,将其添加到系统的...

    CentOS7环境下编译的openssl 3.0动态库和静态库

    本资源提供了在CentOS7环境下编译的OpenSSL 3.0版本的动态库和静态库,这将对需要在该操作系统上进行安全编程或系统集成的开发者非常有帮助。 首先,让我们深入理解OpenSSL 3.0。OpenSSL 3.0是一个重大的版本更新,...

    Linux(centos)下android开发环境的搭建

    在Linux(CentOS)环境下搭建Android开发环境是一个必要的步骤,对于任何希望在Linux系统上进行Android应用开发的开发者来说都至关重要。以下将详细介绍这个过程。 一、Linux(CentOS)系统的安装 首先,确保你拥有...

    Centos搭建EasyDarwin流媒体服务器

    #### 二、Centos环境下EasyDarwin的搭建流程 ##### 1. 编译EasyDarwin - **下载源码**:首先通过wget命令从GitHub仓库下载EasyDarwin的指定版本源码包。例如,使用`wget ...

    centos7环境下编译opencv4.5.4生成的so和jar

    以上就是在CentOS 7环境下编译OpenCV 4.5.4生成.so和.jar文件的详细步骤。这个过程中,你可能会遇到各种依赖问题或配置错误,解决这些问题需要对Linux系统、CMake以及OpenCV有一定的了解。如果你计划在实际项目中...

    Linux交叉编译环境的建立

    ### Linux交叉编译环境的建立 #### 一、概述 在嵌入式系统开发领域,由于目标系统的资源有限,往往无法直接在其上进行编译工作,因此需要在一台功能更强大的主机(通常为PC)上完成编译过程,再将编译好的程序下载...

Global site tag (gtag.js) - Google Analytics