当前位置:   article > 正文

Android系统源码external添加新模块_android extern bin

android extern bin

Android系统源码external添加新模块

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

一、写一个HelloWorld

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

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

  1.         cd external
  2.         mkdir test

   2. 写个HelloWord

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

    3.编写Android.mk

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

 

二、编译

    1.配置编译环境

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

  1. source build/envsetup.sh
  2. lunch
  3. 7
  4. cd external/test
  5. mm

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

 

三、验证

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

  1. console:/ # cd vendor/
  2. console:/vendor # ./test
  3. 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模块

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/573146
推荐阅读
相关标签
  

闽ICP备14008679号