summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJooyung Han <jooyung@google.com>2019-10-15 10:57:03 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-10-15 10:57:03 -0700
commit5bb697779b2f2fdd06842c2f511464cefa9141fe (patch)
treefa1f2fa1241d8cbcdbb82db8b217d2c1292df5d9
parentd54c7ae5f6cc2e1845e9093b663c4e184c766d65 (diff)
parent1780156d1377c7d2ace543e572e16021506c9aaf (diff)
downloadvndk-5bb697779b2f2fdd06842c2f511464cefa9141fe.tar.gz
Add VNDK APEXes (current, v27, v28, v29) am: b23ebce246 am: 190a527682
am: 1780156d13 Change-Id: Ifdaf8add5c6528e55acfdb9808663240774c1614
-rw-r--r--apex/Android.bp92
-rw-r--r--apex/apex_manifest.current.json6
-rw-r--r--apex/apex_manifest.v27.json6
-rw-r--r--apex/apex_manifest.v28.json6
-rw-r--r--apex/apex_manifest.v29.json6
-rw-r--r--apex/com.android.vndk.current.pem51
-rw-r--r--apex/com.android.vndk.current.pk8bin0 -> 2376 bytes
-rw-r--r--apex/com.android.vndk.current.pubkeybin0 -> 1032 bytes
-rw-r--r--apex/com.android.vndk.current.x509.pem32
-rw-r--r--apex/com.android.vndk.v27.pem51
-rw-r--r--apex/com.android.vndk.v27.pk8bin0 -> 2375 bytes
-rw-r--r--apex/com.android.vndk.v27.pubkeybin0 -> 1032 bytes
-rw-r--r--apex/com.android.vndk.v27.x509.pem32
-rw-r--r--apex/com.android.vndk.v28.pem51
-rw-r--r--apex/com.android.vndk.v28.pk8bin0 -> 2374 bytes
-rw-r--r--apex/com.android.vndk.v28.pubkeybin0 -> 1032 bytes
-rw-r--r--apex/com.android.vndk.v28.x509.pem32
-rw-r--r--apex/com.android.vndk.v29.pem51
-rw-r--r--apex/com.android.vndk.v29.pk8bin0 -> 2374 bytes
-rw-r--r--apex/com.android.vndk.v29.pubkeybin0 -> 1032 bytes
-rw-r--r--apex/com.android.vndk.v29.x509.pem32
21 files changed, 448 insertions, 0 deletions
diff --git a/apex/Android.bp b/apex/Android.bp
new file mode 100644
index 0000000..8eec6a3
--- /dev/null
+++ b/apex/Android.bp
@@ -0,0 +1,92 @@
+// Copyright 2019 Google Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+apex_vndk {
+ name: "com.android.vndk.current",
+ manifest: "apex_manifest.current.json",
+ key: "com.android.vndk.current.key",
+ certificate: ":com.android.vndk.current.certificate",
+ file_contexts: "com.android.vndk",
+}
+
+apex_key {
+ name: "com.android.vndk.current.key",
+ public_key: "com.android.vndk.current.pubkey",
+ private_key: "com.android.vndk.current.pem",
+}
+
+android_app_certificate {
+ name: "com.android.vndk.current.certificate",
+ certificate: "com.android.vndk.current",
+}
+
+apex_vndk {
+ name: "com.android.vndk.v29",
+ manifest: "apex_manifest.v29.json",
+ key: "com.android.vndk.v29.key",
+ certificate: ":com.android.vndk.v29.certificate",
+ vndk_version: "29",
+ file_contexts: "com.android.vndk",
+}
+
+apex_key {
+ name: "com.android.vndk.v29.key",
+ public_key: "com.android.vndk.v29.pubkey",
+ private_key: "com.android.vndk.v29.pem",
+}
+
+android_app_certificate {
+ name: "com.android.vndk.v29.certificate",
+ certificate: "com.android.vndk.v29",
+}
+
+apex_vndk {
+ name: "com.android.vndk.v28",
+ manifest: "apex_manifest.v28.json",
+ key: "com.android.vndk.v28.key",
+ certificate: ":com.android.vndk.v28.certificate",
+ vndk_version: "28",
+ file_contexts: "com.android.vndk",
+}
+
+apex_key {
+ name: "com.android.vndk.v28.key",
+ public_key: "com.android.vndk.v28.pubkey",
+ private_key: "com.android.vndk.v28.pem",
+}
+
+android_app_certificate {
+ name: "com.android.vndk.v28.certificate",
+ certificate: "com.android.vndk.v28",
+}
+
+apex_vndk {
+ name: "com.android.vndk.v27",
+ manifest: "apex_manifest.v27.json",
+ key: "com.android.vndk.v27.key",
+ certificate: ":com.android.vndk.v27.certificate",
+ vndk_version: "27",
+ file_contexts: "com.android.vndk",
+}
+
+apex_key {
+ name: "com.android.vndk.v27.key",
+ public_key: "com.android.vndk.v27.pubkey",
+ private_key: "com.android.vndk.v27.pem",
+}
+
+android_app_certificate {
+ name: "com.android.vndk.v27.certificate",
+ certificate: "com.android.vndk.v27",
+}
diff --git a/apex/apex_manifest.current.json b/apex/apex_manifest.current.json
new file mode 100644
index 0000000..b28dd44
--- /dev/null
+++ b/apex/apex_manifest.current.json
@@ -0,0 +1,6 @@
+
+{
+ "name": "com.android.vndk.current",
+ "version": 1
+}
+
diff --git a/apex/apex_manifest.v27.json b/apex/apex_manifest.v27.json
new file mode 100644
index 0000000..13b488e
--- /dev/null
+++ b/apex/apex_manifest.v27.json
@@ -0,0 +1,6 @@
+
+{
+ "name": "com.android.vndk.v27",
+ "version": 1
+}
+
diff --git a/apex/apex_manifest.v28.json b/apex/apex_manifest.v28.json
new file mode 100644
index 0000000..c8e38c6
--- /dev/null
+++ b/apex/apex_manifest.v28.json
@@ -0,0 +1,6 @@
+
+{
+ "name": "com.android.vndk.v28",
+ "version": 1
+}
+
diff --git a/apex/apex_manifest.v29.json b/apex/apex_manifest.v29.json
new file mode 100644
index 0000000..9cf33b0
--- /dev/null
+++ b/apex/apex_manifest.v29.json
@@ -0,0 +1,6 @@
+
+{
+ "name": "com.android.vndk.v29",
+ "version": 1
+}
+
diff --git a/apex/com.android.vndk.current.pem b/apex/com.android.vndk.current.pem
new file mode 100644
index 0000000..85808f4
--- /dev/null
+++ b/apex/com.android.vndk.current.pem
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/apex/com.android.vndk.current.pk8 b/apex/com.android.vndk.current.pk8
new file mode 100644
index 0000000..699dc5e
--- /dev/null
+++ b/apex/com.android.vndk.current.pk8
Binary files differ
diff --git a/apex/com.android.vndk.current.pubkey b/apex/com.android.vndk.current.pubkey
new file mode 100644
index 0000000..f4e1d0f
--- /dev/null
+++ b/apex/com.android.vndk.current.pubkey
Binary files differ
diff --git a/apex/com.android.vndk.current.x509.pem b/apex/com.android.vndk.current.x509.pem
new file mode 100644
index 0000000..b085a1f
--- /dev/null
+++ b/apex/com.android.vndk.current.x509.pem
@@ -0,0 +1,32 @@
+-----BEGIN CERTIFICATE-----
+MIIFbTCCA1WgAwIBAgIUXOSIxWWptk3TrXtTBeHf1PvZQX8wDQYJKoZIhvcNAQEL
+BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
+GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAgFw0xOTA5MjMxMDAyNDRaGA80NzU3
+MDgxOTEwMDI0NFowRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx
+ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDCCAiIwDQYJKoZIhvcN
+AQEBBQADggIPADCCAgoCggIBAM2JTUZORnjZG4NtFyMJV/6XxtjVzTm/ppqLQ9Qf
+tPtWkzolXW7lzWvnmXpfQ1kOqn7/H/lz1CSm69sw0DBvXiIWXZR+8Px5wI10njJd
+Up3CoVLdT9f4w8cfYHq4IZx95O9eARZWDuq3XVgg6P6pNa7f1okJSDV/rH+J4MIV
+P42RI8QjQoGUgVFWs6qRcPKgVoqN2TLifpdCoZFeAbePcIIIJy7+NgeFvohByf3c
+udADr002rYcsTdsLU6LjgSkQo/p6csdnY2ZfmTV95Uj0crW+nlcauTCkMEGmgYEU
+IAAz9FOZQNHTYS92FKXdH3jh7pA6x4awrbjxjWXluAYEUe5qiuWHkDjfslpC2G4H
+CsCzytWz5IVM/lhzMblDtM/BAJ4kV+MmLExp5mGRC1ETH8gZvVx4PMmZXNHrpPZr
+OaW7UaXlS3tKWgnk+h+Sg8KfO7QL4n31a3vvg17U2d0TGvyap1sjhP34upyVX1rj
+ZsZKv+lC0aOQUYNP3d59tc4dDT2At60Zl64Ij5+qcJOoip/TlTa5+3t6RxDc4eQS
+IUij+fSRVJvbAtCUm9n3a0JuuvNPRKrASk9dEgZOe7IlkahH600OSpGpfBMMY70G
+1GgjFCdv/MaFhKO4BGG6P5HzAjE+6UOZ+kKB+GzgA8LKiK8zrdkfBomLg25HMs6i
+pUsbAgMBAAGjUzBRMB0GA1UdDgQWBBRey7EDasVwou6zHd3dSVe0V0015TAfBgNV
+HSMEGDAWgBRey7EDasVwou6zHd3dSVe0V0015TAPBgNVHRMBAf8EBTADAQH/MA0G
+CSqGSIb3DQEBCwUAA4ICAQAB/EdIYWlEbly+W8Q3JK5odYdaeo4Bf2s0Z3njmnux
+5MKzW9qSnW0cy3WBpOEkLmpNMK1ctdi/la4O9qUrW8uCX8d0IvWI7DO+BB2TXQ0N
+RiVs/T4h1djO99UzQYkc+YG9FjFTl/1L0817PIjbHBKEzgdIpMRiwMVb/VxY5/RH
++WX0P1RYOsHwr6nCcsFqqi5QPjFvkS75RwErh1t5q2ynmUm7IRavfqW+l4GrJRwP
+bEbSNcUOIZRHniVKfqSuvpI9Bclqi3ajLrlx0spOsXUr+TN9oKKdmDAJwv25/vD3
+SKN4jVJHt7XxAOVfX1mvQZUVMFA0iHXTwzFbHW79JaaTy6NBXBprqyS1E2Gk6nIL
+ivJ3ZASiQKzqpmmUVtCLjHnjSiDUuLdBSpCpucHuMSmkhO9ly1Bw1/ep7ZMAsmT5
+/mEvdBmg/9ITGLNwNmM0zutwCd2h9okDf5FxTyq5wwvGcwCmfMzHgr5ANYZsr0sz
+1xn3kTTeg6u9tEUsXCWS7z6oIBUhGvR15fLwDwIcktQ6QSKV3HiUFWTkoPBIZBFl
+HIk9rlC5jIMgJ5IAjjrulztZwdUYosv0e87RI4MTlA62FqwvT0J7zSzp/DutufMJ
+HolIS1WCaGFNuBDqqET1yIgZszeYbEmLDukXGMgcatqRxw14MLdFaDGZoBZlMstT
+1w==
+-----END CERTIFICATE-----
diff --git a/apex/com.android.vndk.v27.pem b/apex/com.android.vndk.v27.pem
new file mode 100644
index 0000000..346b857
--- /dev/null
+++ b/apex/com.android.vndk.v27.pem
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/apex/com.android.vndk.v27.pk8 b/apex/com.android.vndk.v27.pk8
new file mode 100644
index 0000000..9c7ead2
--- /dev/null
+++ b/apex/com.android.vndk.v27.pk8
Binary files differ
diff --git a/apex/com.android.vndk.v27.pubkey b/apex/com.android.vndk.v27.pubkey
new file mode 100644
index 0000000..0b305f8
--- /dev/null
+++ b/apex/com.android.vndk.v27.pubkey
Binary files differ
diff --git a/apex/com.android.vndk.v27.x509.pem b/apex/com.android.vndk.v27.x509.pem
new file mode 100644
index 0000000..a32d107
--- /dev/null
+++ b/apex/com.android.vndk.v27.x509.pem
@@ -0,0 +1,32 @@
+-----BEGIN CERTIFICATE-----
+MIIFbTCCA1WgAwIBAgIUIYU/sFDeuYyFYhKwV+sm0IyuKyAwDQYJKoZIhvcNAQEL
+BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
+GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAgFw0xOTA5MDkwNzQzMzVaGA80NzU3
+MDgwNTA3NDMzNVowRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx
+ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDCCAiIwDQYJKoZIhvcN
+AQEBBQADggIPADCCAgoCggIBAK2jk0zDmAWqzKBFZgDzd1J2ZXpfq0Vuh8hOXOtu
+TinyLdpz8uZorfyR8SJ0QNhC4l0OYcXQRxThSOQM8H/92c4jyXiwTOjmCjtryd/3
+9+Z2LyOhGCUI5l2s5Sfkx547NQAjLTPhLYgOsq3SPRQDo/k9EU50vZ7TzA3tn3HM
+kL1sE/kAvNi10dHIQqJS9M8KqxHf/ZP+CSU+Yg8Vo+mG6yF1Cjlr43+d8JTkn8qd
+CdEhmykjpPswjHspgTsf/YJpatTZi/39OJn41rV9WYc7W8sRowzVUh32tJ9BX5LS
+iBqfajNr2iHAmModjoQFiH4PzumpZQxRIg8RkAPCjyE94Fs32TuApvAHl/ick0Go
+SqnJMXHXHT+W0EtGBGJM2lj1JuSZO1U5co1BKfCKCPSSLd6xeARChA4f9JjXP9LS
+C/uthws/Todz5MAEca7JcwmgR7tqxRyIWbloM/h+iHCi8vRf3831ADnn81YJvP9X
+hNde/w7bnx1DbNFLPwu0RbtEKN7ZJCvRsfuTDSW+7u1cPDq8p/dX4dvqZntyX0KQ
+7OTk74E29fBkJBycWitMmATN3tWVWmhS4nCr9fLo3KwAuJE/LJ5iorAIkrmU7N+8
+SagRMI7Yaik4TwdpC2Zj20pV00MYZVArEYCpkFEvl18cFvAeXp9W5t43jkeCkE6Y
+/KOFAgMBAAGjUzBRMB0GA1UdDgQWBBSTQmauh+8rf/UUuVVHPrKRsFFT6zAfBgNV
+HSMEGDAWgBSTQmauh+8rf/UUuVVHPrKRsFFT6zAPBgNVHRMBAf8EBTADAQH/MA0G
+CSqGSIb3DQEBCwUAA4ICAQADH6ST7FBN0HJS6hGNujf34Yy47Ds05FCE0PnZYJpx
+32KC8kYow7kmXLOC2NtBnvL1r37dyQhz+CtlNeZ/q1qNbjxiNsy8ePf9m2xe+8sP
+IPf5jFVpX2oLliMJOsJKjA3OGQwI4wcSU8twkeCIzWONcGuYPHQQoX+tNPNaPuEz
+nXC3nOMP45UFwezb+6NaeDHBaeoHycXBKDtpIbYR0LK+AD4XwkX53cu5aivHtPFe
+Fz6MVl9XggaPpUZczgml0UBS2WbrwZ0liVcsWt8ERmheaLz/2B67AISfT5JeKRSR
+CwMuz5oRA2p2brJ3L8l/YRznEX5+XXeQAdGfaGgXZM7hTzgFI4MOjxZNSJ6X+hc0
+y+xiMwNt0ssmv7W04swtA9dy0gwFHzCgNOblBXig/sRPWDIaXdSipwQeKiu/6E1z
+Bn/VX+rAW577GbOZ2yA+/azG6x1FqzW9ighf7yH69UkSQRTWpe6PwBMjFN+azjuD
+ILCG4Karw4lGewrjNfzM5gIEUmsXUtIjj/YgcUxFbeqWWeidWvgLn8ki86IFPXU0
+HFqZjDpXduFGwUje/u8xiJEPD6AlWGehEIaUNqzDieDmljWYgclVZkOrfm/9ZhZA
+cpHI33Ysr9DfsdSoRhqlDxu/wQ9GTj+17xyX2zmRrCtGzFOuHaTkDDO6OXJdCi69
+BA==
+-----END CERTIFICATE-----
diff --git a/apex/com.android.vndk.v28.pem b/apex/com.android.vndk.v28.pem
new file mode 100644
index 0000000..2851a96
--- /dev/null
+++ b/apex/com.android.vndk.v28.pem
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/apex/com.android.vndk.v28.pk8 b/apex/com.android.vndk.v28.pk8
new file mode 100644
index 0000000..0b5e36b
--- /dev/null
+++ b/apex/com.android.vndk.v28.pk8
Binary files differ
diff --git a/apex/com.android.vndk.v28.pubkey b/apex/com.android.vndk.v28.pubkey
new file mode 100644
index 0000000..84c0b0b
--- /dev/null
+++ b/apex/com.android.vndk.v28.pubkey
Binary files differ
diff --git a/apex/com.android.vndk.v28.x509.pem b/apex/com.android.vndk.v28.x509.pem
new file mode 100644
index 0000000..15d40fa
--- /dev/null
+++ b/apex/com.android.vndk.v28.x509.pem
@@ -0,0 +1,32 @@
+-----BEGIN CERTIFICATE-----
+MIIFbTCCA1WgAwIBAgIUQDVa5uJONC7+44ANiNmx7p1J55kwDQYJKoZIhvcNAQEL
+BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
+GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAgFw0xOTA5MDkwNzQzMjhaGA80NzU3
+MDgwNTA3NDMyOFowRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx
+ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDCCAiIwDQYJKoZIhvcN
+AQEBBQADggIPADCCAgoCggIBAPTy+e0srxhjEkMi1Z04pdOCgHF1MBOoZCLSDOHu
+wqnnnswaAgklNyEB2SQ0Z9O35JiqUqQuwwHHoRHjuUvg8sIrn5J1r8lRJIW5KvX0
+fUp+Rl3wgORWvAzGRd+P4GvSFu12naeQ0Xu09XISiG8DqEwLeC/WiJ2TuB56lvUh
+6Owusfhf0FGCp79+Cnvr3Wju5e76oUMvkgKjfN0fcBgvzNvf/zQlYFUBdzPpwtK5
+SO3yvPfmN8HsmoVjXzItJBNMUJ1C5fEwCW1Q+ViVE+2SgRsstxRXzkI9FPFwgYG/
+afkAMnW9V50LKiAtfTumOig02OGCrEIYTYBV01Kyy8MRZxfweP69E27EQkVUM1Om
+Z3WsIDfFK3DxDuYf+UHE4yGySs3tLRUAgpNCecgu5PtLfq6TOmB4jwFSTb3VZinn
+8MERXILyERUjfitMPtK3/OV0vcUvJ1W0Rvz5qdyw1AD183v3u/xEYT9wO216GvrD
+NTMy6AB/Jj4c7a5On3/BfYixlUJYbfrClch0e4+CbZSNZrk/GL2WXcD76BgVWTPm
+XGT/8VkqIwiuGDgBVcgdXiaPUaRoCMSBnEVvSYbSrai1iUZV5ZrxGpofBJGWhVnu
+rh31JUZ+arzKX2PKqo5CYjB2xK/g3z1aU0RV0kbTGm6yPRfILdj4sIoo7KXZB2hw
+VdmdAgMBAAGjUzBRMB0GA1UdDgQWBBTL4EE6M2BaFjBToBdgRaaWxHxPujAfBgNV
+HSMEGDAWgBTL4EE6M2BaFjBToBdgRaaWxHxPujAPBgNVHRMBAf8EBTADAQH/MA0G
+CSqGSIb3DQEBCwUAA4ICAQATK0Z4iHlNVkFoIuXEZT4fA4YQUHQPpW+vNUQ5OZik
+5e3xAEs/TJOTHXIqkfhKop7QHCCuwrvb8Vp0+MfllkvQlIeMO3jFQzXJS1NoB4IS
+4saO7BZQycEWDtCqbmT0+2Hqbhpi3KxDpHKiR0rh39hGoe0yYxqaLl3HmimEKXnm
+nryUQ8KU1TCfuWvzA/fY7tE5F1svNz6Q3AQN52bNV8hkEmsIyvK+PoC41rxEBfsE
+y6qDN8LN1y8EenuRSyyJQEhIFMSXnn4oprFG1d7iYTZ8KCvepXB7KZrxTDq7JNMx
+UzJU6ctpmM7OnOkRXgjurhrwTG58E3T3vCHnWVLR0pRJSuKKU2/CbNhswBvxcNsb
+NdMfuRI8Comwki9d0uAvH6PalRAytlvnOpaWZUXosM0qAo+TW9XB35njtG0FVm3v
+2f7d1t93JuOixoIosQRzD1cnTypEa875UNpL2NIQzWBLmjjJnH2Ca9yHg+3BkflO
+LBKzrSITRrgbuMp4pwh7cKXN3YM1NWUjFLp2DGxStu7901z3MRTM3uhSzSZQddTw
+A42dWxkAANeVlvDIG+IV2knhJu6z+a2HjW7tyIBBYkW9gaVXYGX3W5FfbQXy+oFt
+Rarx2xrjsufH9uIOtfrhC+oBRxzc3VtNrOfpGvViugz1WSy0JDGbxaWbF4R1nfSL
+aQ==
+-----END CERTIFICATE-----
diff --git a/apex/com.android.vndk.v29.pem b/apex/com.android.vndk.v29.pem
new file mode 100644
index 0000000..3fa6a00
--- /dev/null
+++ b/apex/com.android.vndk.v29.pem
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/apex/com.android.vndk.v29.pk8 b/apex/com.android.vndk.v29.pk8
new file mode 100644
index 0000000..16d353f
--- /dev/null
+++ b/apex/com.android.vndk.v29.pk8
Binary files differ
diff --git a/apex/com.android.vndk.v29.pubkey b/apex/com.android.vndk.v29.pubkey
new file mode 100644
index 0000000..0b3a0f2
--- /dev/null
+++ b/apex/com.android.vndk.v29.pubkey
Binary files differ
diff --git a/apex/com.android.vndk.v29.x509.pem b/apex/com.android.vndk.v29.x509.pem
new file mode 100644
index 0000000..d5cb172
--- /dev/null
+++ b/apex/com.android.vndk.v29.x509.pem
@@ -0,0 +1,32 @@
+-----BEGIN CERTIFICATE-----
+MIIFbTCCA1WgAwIBAgIUfJ5jYT22DSbjcfocCKBy9B3v0xAwDQYJKoZIhvcNAQEL
+BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
+GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAgFw0xOTEwMDcwOTI2MzVaGA80NzU3
+MDkwMjA5MjYzNVowRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx
+ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDCCAiIwDQYJKoZIhvcN
+AQEBBQADggIPADCCAgoCggIBAO+EjynTpuY9N/XpnEStnLPe1lQLAly2DhV+dzRw
+qL5fd8aDKClwlT19zjyFoquhxgImNFHTuN9yzVdSS3+eWa9gFGv4cflqInp0rpTv
+sbAFH/EecJ2oN7NQXWCepfB/CdyEiW+ckBG5wdnX/LnEfr6vkDo46dpMGM09nvyA
+OZxHD90yxSXbK+6uGqLaros8WvY/d/KSiXHKUEriSaFOzSDBeZXpLXiCdprkCQqh
++l4Tn1+Wn7jNLcVCQbwomQywJnGAknI8RCCJVrTxA8c9xEhxLN8zG74J0EwxR0as
+PBjyXgPmcb/rhjv7rMABvJ14uK3UGj3A5pCK3Xi5A2vQ8m5OEcFaii8BZDLvOtnn
+ehya7yX0nofPFafQujfuVXphMAWjmUWeeM3+UumKo4XpXjDXMCy+Q7hroKigRBe2
+sGqI3zlcjBf2nfon+G/dSM9W7YSiZPXxkOnBgsTLZwTmKEksCNYE6/sNigtICTqB
+m8uSEypO2CytdyqelDpk8NYUjaL0M55nXI/DKN48rxy25GSJHgz/fixWlF+/QG+L
+xQJgrzBjfPsVVjkoN9HEWoj5tSOLo7tuWAwMFk1L47EzCBo/O3BhfHntwLpd1POf
+++Rq8UZDMdq2n1iE+i4MhTiKNmg7cCtGLZljvPivTyHAn0Cb0aW6LhWrpOquKbA+
+w3PFAgMBAAGjUzBRMB0GA1UdDgQWBBQQliZlVX7KYmRE+0KV3AKC8PLOYzAfBgNV
+HSMEGDAWgBQQliZlVX7KYmRE+0KV3AKC8PLOYzAPBgNVHRMBAf8EBTADAQH/MA0G
+CSqGSIb3DQEBCwUAA4ICAQDcRJ2S7FgeSnAJPpBxj/CHVSxv9PcSsQAe2KcKg0xY
+uLedy7QqVmpszgBNLlGZ/xH8EHEGYP7WaOMfsRC/AVFLCp8Mq6BKRu9nTdFA02Z9
+XMfkE8zNe/08ScM1UfgMJdaT5/cWLFDuuc335+TnL3dPsEzca2GVMtGKSUtk+9IZ
+H/sZ99mWgxHxhiZYN+6Cy9XlwbfVXT538wVOg/NgUAxX3eh/qijgjopA18FLS79M
+sSCl4dzoILn8hj6fYUzBTvmr1a4+fV3simzwoPekFSLsUho+QXCf2hcpknus/4Ol
+SD4y+8tQmThRCi54XKBQCD8MtG8liq5yRetHZg5MI2/FzbrQofQg9vv69hh8nREg
+iwuL5i9cIOvwUGVT5m+kUhQsjHtq0MtNLY4mAt1DGnRkc6zOGjuzHTSgeHNo45YD
+IgPARXzToGw+G++BG3fCvplSYobVKQifvsaeAbopy3PjsVxmAFIxcUhUGqjvSoOR
+Yxc9UP266j1YM+BWNTZcp93I3yIFnfTC2QxswsmT6/Ltv0r5V97ARGeQT2t7VY0z
+6QhwxbIiwIMYDnQTCqPpeWzUhzK2nGlOg4BVbwa+aMnhFyK2lec8dw2+z82zPmCF
+ZLfJlF6Sl+fy24CqDTeZZeymc28gQx2SnUfCcHJgvEAa2u1ECg0jguPI/Iju9vpw
+pQ==
+-----END CERTIFICATE-----