Android系统源码external添加新模块

本文详细介绍了在Android系统源码external目录下添加并编译C语言模块的具体步骤,包括创建文件夹、编写HelloWorld示例、配置Android.mk、执行编译命令及验证编译结果。此外,还提供了编译静态库和共享库的方法。

Android系统源码external添加新模块

        在linux系统安装配置好C语言等编译工具后,可以轻松地写个C语言小程序验证某种功能,那如何在Android系统中编译C语言或者静态库呢?不严格地说,Android系统也可以看作是linux系统,那应该也能和linux系统一样,可以简单地编译C语言。事实上,是可以的。那如何Android系统源码external添加新模块、在android系统中运行呢?接下来以一个小例子说明。

一、写一个HelloWorld

    -- test
       |-- Android.mk
       `-- helloworld.c

    1. 在Android源码external路径下创建一个文件夹,例如test,

        cd external

        mkdir test

   2. 写个HelloWord

#include<stdio.h>                                                                                                                                |   " Press <F1> to display hel
                                                                                                                                                 |   
int main(void)                                                                                                                                   |-  helloworld.c (/home/rick/am
{                                                                                                                                                ||-   function
    printf("Hello world...\n");                                                                                                                  |||     main
    return 0;                                                                                                                                    |   
                                                                                                                                                 |   ~                          
}     

    3.编写Android.mk

LOCAL_PATH:= $(call my-dir)                                                                                                                      |   " Press <F1> to display hel
include $(CLEAR_VARS)                                                                                                                            |   
LOCAL_MODULE_TAGS := optional                                                                                                                    |-  Android.mk (/home/rick/amlo
LOCAL_MODULE := test                                                                                                                             ||-   macro
LOCAL_SRC_FILES := $(call all-subdir-c-files)                                                                                                    |||     LOCAL_PATH
include $(BUILD_EXECUTABLE)  

 

二、编译

    1.配置编译环境

        在Android源码根路径执行source build/envsetup.sh,然后执行lunch,根据实际硬件选择编译选项,再到external/test下执行mm

source build/envsetup.sh
lunch
7
cd external/test
mm

        编译成功的前提是源码整包编译过,部分编译mm的时间不会太长,编译结果所在路径会在打印中提示,即out/target/product/xxx/system/bin/test

 

三、验证

      adb push 方式或者串口方式将可执行文件下载到目标板子,执行./test

console:/ # cd vendor/                                                         
console:/vendor # ./test                                                       
Hello world...

 

 

四、修改Android.mk,编译a文件或so文件

     具体步骤参考下面第二个链接,生成路径如下:

     out/target/product/xxx/obj/STATIC_LIBRARIES/hello_intermediates/hello.a

     out/target/product/xxx/obj/lib/hello.so

 

参考链接:

Android系统源码external添加新模块

如何编译android模块

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值