高通snapdragon平台下编译生成运行Android可执行程序小白教程

高通snapdragon平台下编译生成运行Android可执行程序小白教程

这里以高通msm8996为例:

1、源码准备

(1)在android目录下新建文件夹(这里为hello_test),将源代码(这里为hello.c)放入其中。

以最简单代码为例:


(2)新建一个Android.mk脚本文件,最简单的模板如下:

LOCAL_PATH:=$(call my-dir)

include$(CLEAR_VARS)

LOCAL_MODULE:=hello

LOCAL_SRC_FILES:= \

    hello.c

include$(BUILD_EXECUTABLE)

 

--------------------------------splitline------------------------------------

关于这几行代码的解释可以参看如下链接,写的很详细:

Android.mk文件语法规范及使用模板

2、执行编译

(1)回到android目录下,执行命令:

  source build/envsetup.sh

   #这个命令是用来将envsetup.sh里的所有用到的命令加载到环境变量里去

   再执行命令:

 lunch msm8996-userdebug

 #这个命令用来选择编译平台,平台的前半部分为产品名称,后半部分一般为以下四种类型,根据自己的板子类型选择:

eng: 工程机 user:最终用户机 userdebug:调试测试机 tests:测试机

(2)回到代码所在目录(hello_test),执行命令:

   mm

#这个命令为编译命令,常用的编译命令有:m、mm和mmm

m:编译所有的模块

mm:编译当前目录下的模块,当前目录下要有Android.mk文件

mmm:编译指定路径下的模块,指定路径下要有Android.mk文件

如果编译成功终端会显示:

(3)编译成功的可执行文件在目录android/out/target/product/msm8996/system/bin/下面,可用ls查看。

3、板子上执行

执行下列命令:

adb devices

 

adb remount

 

adb push hello  /storage

 

adb shell

 

 cd storage

 

  ./hello

这时候可在终端上看到:

至此,可执行程序运行成功!

p.s. 如果源码有所修改后想重新编译的话先在android目录下执行make installclean,否/home/shenqin/Coral/LINUX/android/kernel/include/media/v4l2-subdev.h则处理器会认为可执行程序存在而不做任何处理,直接默认编译成功。

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值