首页 > 编程语言 >android添加c语言的可执行程序

android添加c语言的可执行程序

时间:2023-12-22 15:44:26浏览次数:41  
标签:MODULE 编译 添加 test PATH android include LOCAL 可执行程序

在android源码的external目录下添加test目录。在test目录下新建test.c文件和Android.mk文件。

test.c文件例如:

#include <stdio.h>
int main()
{
    printf("hello world\n");
    return 0;        
}

Android.mk文件:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := my_test
LOCAL_CFLAGS := -Werror
LOCAL_SRC_FILES += test.c
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
LOCAL_MODULE_TAGS := optional
include $(BUILD_EXECUTABLE)

这样就完成了代码的编写,下一步在android根目录下使用mmm命令进行编译:

mmm ./external/test

这样编译出来的文件可以在开发板的vendor/bin目录下找到。

下面是Android.mk的部分介绍:

LOCAL_PATH := $(call my-dir)

首先LOCAL_PATH变量用于查找源文件,上面语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径

Android.mk中可以定义多个编译模块,每个编译模块都是以include $(CLEAR_VARS)开始。以include $(BUILD_XXX)结束。

LOCAL_MODULE_PATH: 最后的目标安装路径,TARGET_OUT_VENDOR_EXECUTABLES是安装在vendor/bin下面。

LOCAL_MODULE_TAGS :=user eng tests optional

user: 指该模块只在user版本下才编译

eng: 指该模块只在eng版本下才编译

tests: 指该模块只在tests版本下才编译

optional:指该模块在所有版本下都编译

include $(BUILD_STATIC_LIBRARY)表示编译成静态库

include $(BUILD_SHARED_LIBRARY)表示编译成动态库。

include $(BUILD_EXECUTABLE)表示编译成可执行程序

 

标签:MODULE,编译,添加,test,PATH,android,include,LOCAL,可执行程序
From: https://www.cnblogs.com/dodo-asw/p/17921734.html

相关文章

  • python批量给文本文件txt内容添加特殊符号等内容:-----------------------------------
    python脚本内容如下:#导入需要使用的模块importosimporttkinter.filedialogfn=tkinter.filedialog.askopenfilename(title='选择了一个文件',filetypes=[('文本文件','.txt'),('所有文件','.*')])print("打开了文件:"+fn)line_count=0f=open......
  • Android应用开发长按拖拽-Flutter的LongPressDraggable控件回调函数onDraggableCancel
    onDraggableCanceled介绍LongPressDraggable的onDraggableCanceled回调在拖动被取消时触发。拖动可能会被取消,例如用户在拖动开始后移动了太快或在放置之前取消了拖动。onDraggableCanceled的使用以下是如何使用onDraggableCanceled的示例:LongPressDraggable<int>(//......
  • Android创建引导时的镂空View漏空view
     importandroid.graphics.RectFimportandroid.view.Viewimportandroid.view.ViewGroupobjectMyGuideUtil{/***@baseView在哪个view基础上进行镂空*/funguideMain(baseView:View){vallocation=IntArray(2)baseView.ge......
  • 优测云服务平台总结Android开发常见风险及解决方案
    Android作为一个普及度、成熟度极高的平台,每天都有大量新APP涌现。开发一款Android应用,除了要有新颖的创意和高效的性能,保证安全性也是不容忽视的问题。俗话说打铁还需自身硬。接下来,我们会陆续与大家分享一些常见、不常见的代码风险问题,希望对您的Android开发工作有一定的......
  • 【c# winform】devexpress treeList右键菜单添加按钮
    本文提供俩种不需要手动添加编辑控件方法。方法一:创建新的右键菜单添加“执行选择”按钮,且抑制TreeList自带菜单结果展示: 代码: privatevoidForm1_Load(objectsender,EventArgse){CreateBarButtonItem();}privatevoidCreateBarButtonItem(){//创建右键......
  • 添加用户
    添加用户:添加用户命令:sudouseradd-mtest1其中,sudo,用来表示以管理员身份执行1.如果直接执行useradd-mtest1报错:   2.添加用户命令:sudo useradd -m 用户名(其中 -m参数表示在/home下添加用户目录)  3.修改用户密码:sudo pass......
  • Android开发基本规范整理
    1前言为了有利于项目维护、增强代码可读性、提升CodeReview效率以及规范团队安卓开发效率,故提出以下安卓开发规范2AS规范工欲善其事,必先利其器。尽量使用最新的稳定版的IDE进行开发;编码格式统一为UTF-8;编辑完.java、.xml等文件后一定要格式化,格式化,格式化(win快捷键cr......
  • 临近年末,整理了一份 Android 程序员必看的面试合集
    前言总体来说,面试一般都是基于你的简历来进行的,一般先考察你的基础,然后考察你知识体系的完备程度,接着会考察你的极限,最后还会考察一些软技能,比如你的学习能力、协作能力、沟通能力、分析解决未知问题的能力、抗压能力等。个人心得凡事预则立,不预则废准备周期面试之前,最好先系统的复......
  • 将本地代码添加到gitee
    新建仓库,将代码加入gitee根据提示创建仓库填写完成后创建readme文件,目的为了初始化分支。现在按照下面命令操作#进入本地项目文件夹cdxxxgitinitgitremoteaddoriginhttps://gitee.com/zcjlq/test1.gitgitpullgitaddxxxgitcommit-m"xxx"gitpush已有gitee仓库,将......
  • RK3568开发平台Android 11强制所有应用横屏展示
    点击上方“天嵌股份”关注公众号后回复TQ3568_CoreB获取板卡硬件资料Android11强制所有应用横屏展示 1、打开frameworks/base/core/java/android/content/pm/parsing/component/ParsedActivityUtils.java文件,定位到parseActivityOrReceiver方法的intscreenOrientation=sa.getI......