高通snapdragon平台下编译生成运行Android可执行程序小白教程
高通snapdragon平台下编译生成运行Android可执行程序小白教程这里以高通msm8996为例:1、源码准备(1)在android目录下新建文件夹(这里为hello_test),将源代码(这里为hello.c)放入其中。以最简单代码为例:(2)新建一个Android.mk脚本文件,最简单的模板如下:LOCAL_PATH:=$(call my-dir)
高通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------------------------------------
关于这几行代码的解释可以参看如下链接,写的很详细:
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则处理器会认为可执行程序存在而不做任何处理,直接默认编译成功。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)