Android jar包编译及集成

Jar包编译和集成有两种编译方式,mk和bp,Android 7版本之后逐渐采用bp格式编译,目前14版本还是兼容mk方式编译,具体写法入下:

Android jar包编译 mk:

Android jar包编译及集成_第1张图片

如果需要打包到systemimg,则需要将此jar包添加到PRODUCT_PACKAGES,此编译指令将jar包添加进了system分区,但是没有预加载,PRODUCT_BOOT_JARS指令会将jar包预加载到虚拟机中供客户端使用。

Android jar 包编译 bp:

Android jar包编译及集成_第2张图片

使用方式如上,如果依赖到其他jar包,则是用static_libs:[HelloTest,]添加依赖编译,如果需要预加载到虚拟机,则需要配置了PRODUCT_BOOT_JARS添加到bootcalssloader路径当中。或者在ZygoteInit.cacheNonBootClasspathClassLoaders中主动去加载一下jar包。

PRODUCT_SYSTEM_SERVER_JARS 添加到systemserverclasspath

分区选择:

默认system分区:

  • Android.mk 默认就是输出到 system 分区,不用指定
  • Android.bp 默认就是输出到 system 分区,不用指定

Vendor分区:芯片上上分区,提供核心功能和服务

  • Android.mk LOCAL_VENDOR_MODULE := true
  • Android.bp vendor: true

Odm分区:设备制造商分区,外围设备提供核心功能和服务

  • Android.mk LOCAL_ODM_MODULE := true
  • Android.bp device_specific: true

Product分区:产品机型分区

  • Android.mk LOCAL_PRODUCT_MODULE := true

       Android.bp product_specific

你可能感兴趣的:(android,jar,java)