由于系统模块无法像应用软件apk的方式进行更新,在更新系统模块时,往往需要重新烧录整个image才可以完成,所以Android引入的APEX文件格式。
详细概念可参考https://blog.csdn.net/qq_28351465/article/details/106458089
本文以Tethering.apk为例,介绍下apex如何创建、使用等。
Tethering.apk是系统预置apk,用来将一些interface的网络share给另外的interface使用、创建dhcp server等。
构建编译APEX
APEX 对应的Android.bp如下:
/frameworks/base/packages/Tethering/apex/Android.bp
17 apex {
18 name: "com.android.tethering",
19 updatable: true,
20 min_sdk_version: "current",
21 java_libs: ["framework-tethering"],
22 apps: ["Tethering"],
23 manifest: "manifest.json",
24 key: "com.android.tethering.key",
25
26 androidManifest: "AndroidManifest.xml",
27 }
28
29 apex_key {
30 name: "com.android.tethering.key",
31 public_key: "com.android.tethering.avbpubkey",
32 private_key: "com.android.tethering.pem",
33 }
34
35 android_app_certificate {
36 name<