ubuntu下androidndk编译环境搭建方法(代码片段)

osnet osnet     2022-12-21     557

关键词:

下载ndk13

http://developer.android.com/sdk/ndk/index.html

解压

cd /home/ubuntu/ndk/
tar -xzvf   android-ndk-r13b.tgz

安装交叉编译环境

运行在arm64 cpu
安装两个,安装两个目的只是为了灵活性
第一个在目录/home/ubuntu/ndk-android-tool-chain

ubuntu@ubuntu:~/ndk/android-ndk-r13b/build/tools$ ./make-standalone-toolchain.sh  --arch=arm64 --platform=android-21 --install-dir=/home/ubuntu/ndk-android-tool-chain  --force

第二个安装在默认目录下,同ndk一个目录,没有–install-dir参数:

ubuntu@ubuntu:~/ndk/android-ndk-r13b/build/tools$ ./make-standalone-toolchain.sh  --arch=arm64 --platform=android-21   --force

设置环境变量

ubuntu@ubuntu:~/ndk-android-tool-chain/bin$ export PATH=/home/ubuntu/ndk-android-tool-chain/bin:$PATH
ubuntu@ubuntu:~/ndk-android-tool-chain/bin$ source ~/.bashrc

ubuntu@ubuntu:~/ndk/android-ndk-r13b$ export PATH=/home/ubuntu/ndk/android-ndk-r13b:$PATH
ubuntu@ubuntu:~/ndk/android-ndk-r13b$ source ~/.bashrc

测试

arch64-linux-android-gcc -v

编译

方法一,编译c程序

arm-linux-androideabi-gcc -o main main.c

方法二,创建android工程编译
创建目录jni
目录下创建文件:
Application.mk
Android.mk
hello目录
hello目录下:
main.c
Android.mk

Application.mk:

APP_ABI:=arm64-v8a
 
DEBUG := $(NDK_DEBUG)
 
ifndef NDK_DEBUG
DEBUG := 0
endif
ifeq ($(DEBUG),true)
DEBUG := 1
endif
 
ifeq ($(DEBUG),1)
APP_CFLAGS += -O0 -g
APP_OPTIM := debug
else
APP_CFLAGS += -O2
APP_OPTIM := release
endif
 
APP_STL := stlport_static
APP_CPPFLAGS += -fexceptions
APP_PLATFORM := android-21
NDK_TOOLCHAIN_VERSION := 

jni目录下Android.mk:

include $(call all-subdir-makefiles)

hello目录下Android.mk:
LOG_TO_ANDROID_LOGCAT := true

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES:= main.c

LOCAL_MODULE:=hello
LOCAL_MODULE_TAGS := optional

ifeq ($(LOG_TO_ANDROID_LOGCAT),true)
LOCAL_CFLAGS+= -DDEBUG -DANDROID_NDK
endif

include $(BUILD_EXECUTABLE)

main.c

#include <stdio.h>
#include <unistd.h>

int main()

	printf("hello world \\n");
	return 0;

编译命令,在jni目录下:

/jni$ ndk-build
[arm64-v8a] Compile        : hello <= main.c
[arm64-v8a] Executable     : hello
[arm64-v8a] Install        : hello => libs/arm64-v8a/hello

文件生成目录在jni同级别下:obj/local/arm64-v8a

ubuntu下搭建mips交叉编译环境

...找了好久找不到,发现还是得自己编。 1.环境系统:Ubuntu16.04软件:b 查看详情

linuxmint安装配置及搭建android源码编译环境

LinuxMint安装、配置及搭建Android源码编译环境用过ubuntu,现在想换换LinuxMint试试看。下面是我安装配置LinuxMint13的过程。1、安装安装LinuxMint13时,我尝试了好多种方法,都失败了。最后选用了硬盘安装。硬盘安装Linuxmint和安装ubuntu... 查看详情

ubuntu16.04下搭建eclipsec++开发环境(代码片段)

ubuntu下使用Eclipse下搭建开发环境基本上网上教程一大堆,但是复杂度太大,因为很多教程都是从JDK开始安装一直到最后,而且很多都是从别的linux发行版上弄来的方法,各种编译直接吓死人有木有,其实ubuntu... 查看详情

如何在ubuntu下搭建qt交叉编译环境

参考技术A第一步,你需要下载QT源代码(4.8的编译比较容易),然后通过./configure(参数自己定,不懂看readme)接下来就是在QTCREATE里面配置了,如下:工具-->选项--->构建和运行1.编译器:点击添加:"名称"随意"编译器路径"**/... 查看详情

androidndk环境搭建(代码片段)

???在Android上要想开发出高效率的软件,还是须要用到C/C++语言,要想在Java上开发C/C++语言就须要在IDE上安装NDK;在Android的官网上SDK开发环境已经包括了ADT插件。最新的Android开发IDE能够到官网下载:http://developer.android.com/sdk/index.h... 查看详情

如何用androidndk编译ffmpeg

android的NDK开发需要在linux下进行: 因为需要把C/C++编写的代码生成能在arm上运行的.so文件,这就需要用到交叉编译环境,而交叉编译需要在linux系统下才能完成。安装android-ndk开发包,这个开发包可以在googleandroid官网下载:通过... 查看详情

ubuntu16.04下搭建eclipsec++开发环境(代码片段)

ubuntu下使用Eclipse下搭建开发环境基本上网上教程一大堆,但是复杂度太大,因为很多教程都是从JDK开始安装一直到最后,而且很多都是从别的linux发行版上弄来的方法,各种编译直接吓死人有木有,其实ubuntu... 查看详情

ubuntu搭建小熊派hi3861环境(代码片段)

目录开发平台:工具安装:代码编译:过程注意:开发平台:基于Hi3861芯片的小熊派全貌:工具安装:参考官方Gitee,文件形式下载的将它存放在Linux下自己知道的目录下就行:交叉编译器gcc_risc... 查看详情

ubuntu下asic/fpga环境搭建

Ubuntu下ASIC/FPGA环境搭建ASICandFPGAUbuntu下ASIC/FPGA环境搭建前言准备Ubuntu环境安装制作启动盘安装UbuntuVivado软件安装Synopsys相关软件安装安装IC软件license生成、环境以及激活启动scl_keygen生成器环境设置激活结束语参考文献前言  最... 查看详情

androidndk开发androidstudio2.2ndk的开发环境搭建

前言之前一直在用Eclipse做开发,直到今年年初才将项目迁移到Google推荐的AndroidStudio上面,毕竟这是一个趋势,可谁知道事情根本没有我想的那么简单,这期间遇到了N多坑,我想这些坑可能大家也有可能遇到&#... 查看详情

ubuntu下cppcheck编译安装

一、cppcheck安装环境:Ubuntu20.04,gcc-9.3.0/gcc-7.5.01、方法一:apt源安装cppcheck(推荐,无需编译安装,自动配置环境变量)sudoaptinstallcppcheck这种方法安装的版本比较老,所以我不喜欢。查看版本情况cp... 查看详情

04-vscode搭建cmake的编译环境(代码片段)

vscode+mingw搭建C/C++环境系列01.vscode+mingw搭建编译调试环境02-vscode编译调试单个源文件程序03-vscode编译调试多个源文件程序04-vscode搭建cmake的编译环境文章目录一、简述二、vscode搭建cmake的编译环境(方法1)1.配... 查看详情

区块链软件开发的搭建环境(代码片段)

...于以太坊技术进行搭建,两个部分,Windwos下搭建方法、Ubuntu下搭建方法一:??????使用节点进行挖矿??在Geth命令行界面下,输入miner.start()即启动挖矿,挖矿后,会不停刷屏,输入miner.stop()即停止,不用管刷屏导致的命令不全,命... 查看详情

superset开发环境搭建(ubuntu+pycharm)

参考技术Aubuntu16.04lts64注意:完成虚拟环境的创建之后,你的IDE当中并不会像上图一样显示那么多的三方包,等我们完成下面的步骤之后便会像上图显示的一样了。安装这个过程耗时可能相对久一些。初始化方法一:直接在pycharm... 查看详情

ubuntu下intellijidea13+tomcat8开发环境搭建

安装IntellijIDEA13安装Tomcat8 查看详情

ubuntu下nodejs环境搭建

 #0.0.0.0account.jetbrains.com”添加到hosts文件中 apt-get升级 sudoapt-getupgradeapt-get更新 sudoapt-getupdate安装nodesudoapt-getinstallnodejssudoapt-getinstallnodejs-legacy安装npmsudoapt-ge 查看详情

idea下kafka源码阅读编译环境搭建

Kafka源码编译阅读环境搭建开发环境:OracleJava1.7.0_25+Idea+Scala2.10.5+Gradle2.1+Kafka0.9.0.1一、Gradle安装配置Kafka代码自0.8.x之后就使用Gradle来进行编译和构建了,因此首先需要安装Gradle。Gradle集成并吸收了Maven主要优点的同时还克服了Mav... 查看详情

ubuntu14.04搭建lamp环境

前言已经不记得搭建过多少次LAMP的环境了,不仅仅在windows上折腾过,也在linux上弄过,windows倒还好,麻烦事不多,搭建过一次基本上下次就知道应该怎么配置了,可是在linux每次搭建LAMP时我都总是忘记上一次是怎么搭建成功的... 查看详情