1. 安装NDK;

2. 编写hello.c源文件

#include

int main() {

printf("hello, arm c world!\n");

return 0;

}

3. 编写编译脚本compile.sh:

#!/bin/bash

PREFIX=$NDK_HOME

CC="$PREFIX/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86/bin/arm-linux-androideabi-gcc"

NDK="$PREFIX/platforms/android-14/arch-arm"

CFLAGS="-I$NDK/usr/include"

LDFLAGS="-nostdlib -Wl,-rpath-link=$NDK/usr/lib -L$NDK/usr/lib $NDK/usr/lib/crtbegin_dynamic.o -lc"

$CC -o $1 $2 $CFLAGS $LDFLAGS

4. 运行编译脚本:

chmod u+x compile.sh

./compile.sh hello hello.c

5. 到android设备上运行

adb push hello /data/local/tmp/hello

adb shell /data/local/tmp/hello

6. 看到输出结果:

hello, arm c world!

7. 当然,可以直接使用ndk-build命令来编译

a. 新建目录 workspace;

b. 进入workspace,新建目录jni;

c. 进入jni,新建hello.c文件,输入源文件内容;

d. 新建Android.mk文件,内容如下:

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_SRC_FILES:= hello.c

LOCAL_MODULE := libtest

include $(BUILD_EXECUTABLE)

e. 运行ndk-build命令,可看到在workspace目录下生成了libs和obj两个目录,libs下对应的armeabi文件夹下有生成的可执行文件 test

f. adb push test /data/local/tmp/test

adb shell test /data/local/tmp/test 运行

安卓运行c语言程序,在Android系统上运行C/C++程序相关推荐

  1. python可以在哪些系统运行_Python 语言可以在哪些操作系统上运行?

    Python 语言可以在哪些操作系统上运行? 答:以上都可以 仿生法有哪些实施步骤?() 答:研究生物体的结构.功能 明确发明创造物的功能 选择模拟的对象 抽象成数学模型,再制成实物模型 Which? ...

  2. linux如何运行安卓程序,如何在Android系统上运行C语言的程序

    问题阐述: 本人使用mini6410开发了一个sqlite数据库的程序,在mini6410的linux系统下已经能够成功运行了.因为Android使用的也是linux内核,所以我想当然的认为按照同样的 ...

  3. qt编写的android程序在android系统中运行,中文显示乱码的解决方法

    在main函数中添加 QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); QTextCodec::setCodecForTr(QTextC ...

  4. iEmu:在Linux、Windows、Mac、Android系统上仿真运行iOS应用

    iOS 是一个"封闭"的系统,而Android是一个"开放"的系统,两者可谓是泾渭分明.现在,iEmu试图打破这两个操作系统之间的界限.iEmu是当年最 早破解 ...

  5. 第二讲:Android系统构架分析和应用程序目录结构分析

    2019独角兽企业重金招聘Python工程师标准>>> 本讲内容: Android系统构架简介 Android应用程序结构分析 点这里下载:Android学习指南第二讲源代码 一.A ...

  6. 安卓system镜像分区_如何完全备份android系统上的system分区和data分区

    安卓的系统备份在很多场合下可能会用到,下面这个python的脚本,可以用来备份整个的data分区:将所有data分区的文件和目录打包到data.zip,并生成recovery的专用edify脚本到up ...

  7. 安卓设备刷linux发行版,绝对精华,大牛教你在Android系统上安装linux发行版

    Install linux distribution (Debian/Ubuntu/Kali Linux/Fedora/openSUSE/Gentoo/RootFS/Arch Linux) on An ...

  8. Crossover2023mac苹果电脑系统上运行Windows程序虚拟机工具模拟器

    CrossOver是一款可以让Mac和Linux系统中正常运行Windows软件的应用程序.它不像虚拟机一样需要安装Windows系统之后才可以安装Windows的应用程序,这一方式给大多数用户带来了 ...

  9. 64位系统上运行32位程序的内存限制

    64位系统上运行32位程序能否申请到8G内存? 收藏到手机    转发   评论 2010-01-20 10:56 申请不到,因为64为系统在运行32位程序的时候只是为了向下兼容而已,对于32位程序来 ...

最新文章

  1. 如何安装树莓派摄像头
  2. LeetCode 202. Happy Number--Python解法
  3. oracle 条件动态视图,oracle最重要的9个动态性能视图
  4. Linux线程退出、资源回收、资源清理的方法
  5. 卷积输出的记录,为什么是([3, 0, 1, 2])
  6. [开源]基于姿态估计的运动计数APP开发(一)
  7. linux命令history作用,Linux命令:history命令历史的管理及用法
  8. MATLAB PDE工具箱电磁场仿真平行电容板及电偶极子详解
  9. mysql数据库函数详解_MySQL数据库之字符函数详解
  10. 开课吧:全栈工程师的关键开发技能(硬实力)
  11. maven的安装步骤
  12. apollo 配置中心_Apollo 配置中心:分布式部署
  13. 如何成为一个游戏制作人——第5.5章一个小游戏的框架
  14. 简单的网站全屏背景图代码
  15. 如何成为一名程序员?
  16. 【Vue作业]---Vue登录注册界面
  17. 机器学习理论基础---1
  18. 如何创建PostgreSQL 生成列
  19. 【GNSS】抗差估计(稳健估计)原理及程序实现
  20. GD32测量pwm波频率以及占空比

热门文章

  1. 【愚公系列】2022年01月 Java教学课程 46-获取对象操作类Optional
  2. 本田电动汽车Honda e更多细节公布:搭载35.5kWh电池组 续航里程达200公里
  3. linux 查找文件、含文字的文件
  4. 2022最新版Python安装教程
  5. 华为荣耀V9无法连接android studio
  6. 室内盆栽、盆景、盆植的区别
  7. 联想服务器cpu虚拟化怎么开启,联想vt虚拟化怎么开启,amdvt虚拟化怎么开启
  8. 微信文章素材图片提取指南
  9. 阿里云国际站怎么支付
  10. 整合Spring Cloud Sleuth