Android 编译手册


1、Android source后使用hmm 和 make -h,make help 等命令查看帮助信息。
2、使用源码编译的情况下引入三方jar 包

  • LOCAL_STATIC_JAVA_LIBRARIES = xxx

include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := xxx:libs/xxx.jar #实际目录
include $(BUILD_MULTI_PREBUILT)

  • 引用第三方AAR文件
    何为aar文件,aar包与jar包类似,区别就是aar文件包含Android的资源文件,如:布局、样式、图片等,如果按照源码中jar的引用方式会遇到编译不过的问题,提示找不到相关的资源文件。

在APK的Android.mk添加第三方AAR
创建libs/xxx.arr文件,修改Android.mk如下

LOCAL_AAPT_FLAGS += --auto-add-overlay
–extra-packages xxx
LOCAL_STATIC_JAVA_AAR_LIBRARIES:= xxx

include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += xxx:libs/xxx.aar
include $(BUILD_MULTI_PREBUILT)

  • 在新增的libs文件夹下加入Android.bp文件,新增如下内容

java_import {
name: “testlib_jar”,
jars: [“libs/testlib.jar”],
}
需要在android_app的主模块中新增上面定义的name的值
android_app {
name: “xxx”,
static_libs: [
“testlib_jar”,
],

  • 查看overlay路径
    get_build_var DEVICE_PACKAGE_OVERLAYS
  • 查看bootjar 里内容
    cd out
    grep -rin BOOTCLASSPATH .
    out/target/product/xxxxx/root/init.environ.rc 文件中有BOOTCLASSPATH

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. android 混淆文件proguard.cfg详解
  4. ndk 编译android内核模块无法加载 解决方法
  5. Android之创建实时文件夹
  6. android系统信息获取
  7. [置顶] Android资源文件分析
  8. Android欢迎界面的创建方法
  9. Android——eclipse共享library以及导出jar包

随机推荐

  1. Android assets 目录作用
  2. 在32位的Ubuntu 11.04中为Android NDK r6
  3. Android 预编译模块
  4. android handler和thread的使用
  5. android各版本特性
  6. 什么是Android上的USB调试模式以及如何启
  7. android 硬件加速
  8. Android软件安全开发实践
  9. 【攻城狮看过来】UC招聘Android、Java高
  10. 《Android核心分析》(一)