tree: 4e731efb90747305b3c0e6a6620d56c8a20e6d76 [path history] [tgz]
  1. Android.bp
  2. apex_manifest.current.json
  3. apex_manifest.v28.json
  4. apex_manifest.v29.json
  5. apex_manifest.v30.json
  6. apex_manifest.v31.json
  7. apex_manifest.v32.json
  8. CleanSpec.mk
  9. com.android.vndk.current.pem
  10. com.android.vndk.current.pk8
  11. com.android.vndk.current.pubkey
  12. com.android.vndk.current.x509.pem
  13. com.android.vndk.v28.pem
  14. com.android.vndk.v28.pk8
  15. com.android.vndk.v28.pubkey
  16. com.android.vndk.v28.x509.pem
  17. com.android.vndk.v29.pem
  18. com.android.vndk.v29.pk8
  19. com.android.vndk.v29.pubkey
  20. com.android.vndk.v29.x509.pem
  21. com.android.vndk.v30.pem
  22. com.android.vndk.v30.pk8
  23. com.android.vndk.v30.pubkey
  24. com.android.vndk.v30.x509.pem
  25. com.android.vndk.v31.pem
  26. com.android.vndk.v31.pk8
  27. com.android.vndk.v31.pubkey
  28. com.android.vndk.v31.x509.pem
  29. com.android.vndk.v32.pem
  30. com.android.vndk.v32.pk8
  31. com.android.vndk.v32.pubkey
  32. com.android.vndk.v32.x509.pem
  33. README.md
apex/README.md

Add a new VNDK APEX

In this document we add a new VNDK APEX for version 30. When you follow this doc with different versions, change "30" to what you're adding. (eg. 31)

  1. Add a new definition in Android.bp
apex_vndk {
    name: "com.android.vndk.v30",
    manifest: "apex_manifest.v30.json",
    key: "com.android.vndk.v30.key",
    certificate: ":com.android.vndk.v30.certificate",
    vndk_version: "30",
    system_ext_specific: true,
    file_contexts: ":com.android.vndk-file_contexts",
}

apex_key {
    name: "com.android.vndk.v30.key",
    public_key: "com.android.vndk.v30.pubkey",
    private_key: "com.android.vndk.v30.pem",
}

android_app_certificate {
    name: "com.android.vndk.v30.certificate",
    certificate: "com.android.vndk.v30",
}
  1. Add apex_manifest.v30.json
{
  "name": "com.android.vndk.v30",
  "version": 1
}
  1. Add keys/ceritificate
openssl genrsa -out com.android.vndk.v30.pem 4096
avbtool extract_public_key --key com.android.vndk.v30.pem --output com.android.vndk.v30.pubkey
openssl req -x509 -newkey rsa:4096 -nodes -days 999999 -keyout key.pem -out com.android.vndk.v30.x509.pem

# Enter following info via the interactive prompts
# Country Name: US
# State: California
# Locality Name: Mountain View
# Organization Name: Android
# Organization Unit Name: Android
# Common Name: com.android.vndk
# Email address: android@android.com

openssl pkcs8 -topk8 -inform PEM -outform DER -in key.pem -out com.android.vndk.v30.pk8 -nocrypt

rm key.pem
  1. Verify
m com.android.vndk.v30