当前位置:   article > 正文

Android 源码 新增第三方库 external_android external目录下增加lib

android external目录下增加lib

## 编译

一般将需要一直的第三方库下载解压到 external中

本文以 作者添加 libiconv库来举例

下载 libiconv库https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz

 

解压到 external/libiconv中

 

在external/libiconv 运行此库的 ./configure -host=arm(不要看其它博客所说host指向 arm-XXX 等等之类的,那些都是为了jni用的(ndk编译使用),我们这里要做的是Android底层支持库

 

生成好makefile之后(其实这里主要是转译.in文件成正常的h文件或c/cpp文件)

编写Android.mk或者Android.bp,强烈建议使用bp文件,编译内容参数结构明显

bp编译选项不再赘述,参数根据自己需求改写,包括生成binary或者static_library

  1. cc_defaults {
  2. name: "libiconv_defaults",
  3. srcs: [
  4. "libcharset/lib/localcharset.c",
  5. "lib/iconv.c",
  6. "lib/relocatable.c",
  7. ],
  8. local_include_dirs: [
  9. "include",
  10. "libcharset",
  11. "lib",
  12. "libcharset/include",
  13. ],
  14. export_include_dirs: ["include"],
  15. cflags: [
  16. "-Wno-multichar",
  17. "-Wno-unused-const-variable",
  18. "-Wno-unused-variable",
  19. "-Wno-unused-parameter",
  20. "-Wno-sign-compare",
  21. "-Wno-parentheses-equality",
  22. "-Wno-missing-field-initializers",
  23. "-Wno-static-in-inline",
  24. "-DAndroid",
  25. "-DBUILDING_LIBICONV",
  26. "-DIN_LIBRARY",
  27. "-DLIBDIR=\"c\"",
  28. ],
  29. }
  30. cc_library_shared {
  31. name: "libiconv",
  32. defaults: ["libiconv_defaults"],
  33. vendor_available: true,
  34. host_supported: true,
  35. }

此时运行配置好源码编译环境后,在此目录下 mm即可单模块编译此动态库

要想源码整编带入此模块编译,参照自己源码工程的.mk文件,适当加入该模块,即可整编带入

 

## 引用

在你需要引用此库的工程mk或者bp文件中

Android.mk 中

LOCAL_SHARED_LIBRARY := libiconv

 

Android.bp 中

以下是我用到的地方 新增的 libiconv

代码中你要引用的头文件参见 编译库bp的 export_include_dirs

  1. // Build blkid
  2. cc_binary {
  3. name: "blkid",
  4. defaults: ["e2fsprogs-defaults"],
  5. srcs: ["blkid.c"],
  6. cflags: ["-Wno-unused-variable"],
  7. shared_libs: [
  8. "libext2fs",
  9. "libext2_blkid",
  10. "libext2_com_err",
  11. "libext2_e2p",
  12. "libiconv",
  13. ],
  14. system_shared_libs: ["libc", "libdl"],
  15. }

 

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

闽ICP备14008679号