From 78233445b6b1340965eeae99932ff456557b5185 Mon Sep 17 00:00:00 2001 From: Stefan Lengfeld Date: Fri, 5 Jun 2026 21:57:33 +0200 Subject: [PATCH 1/6] Add meetups as jekyll collection --- _config.yml | 4 ++ _layouts/default.html | 1 + _layouts/meetup.html | 6 +++ _meetup/2026-aosp-and-aaos-july-meetup.md | 6 +++ assets/images/aospandaaos-logo.png | Bin 0 -> 60805 bytes index.md | 8 +--- meetup.md | 46 ++++++++++++++++++++++ 7 files changed, 65 insertions(+), 6 deletions(-) create mode 100644 _layouts/meetup.html create mode 100644 _meetup/2026-aosp-and-aaos-july-meetup.md create mode 100644 assets/images/aospandaaos-logo.png create mode 100644 meetup.md diff --git a/_config.yml b/_config.yml index edffb2a..3299429 100644 --- a/_config.yml +++ b/_config.yml @@ -5,3 +5,7 @@ show_downloads: false theme: jekyll-theme-cayman plugins: - jekyll-feed +collections: + meetup: + output: true + permalink: /:collection/:path:output_ext diff --git a/_layouts/default.html b/_layouts/default.html index de60a9d..23024b6 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -30,6 +30,7 @@

{{ page.description | default: site.description | de Home Code Blog + Meetup Library Calendar About diff --git a/_layouts/meetup.html b/_layouts/meetup.html new file mode 100644 index 0000000..b07fd4a --- /dev/null +++ b/_layouts/meetup.html @@ -0,0 +1,6 @@ +--- +layout: default +--- +

{{ page.title }}

+ +{{ content }} diff --git a/_meetup/2026-aosp-and-aaos-july-meetup.md b/_meetup/2026-aosp-and-aaos-july-meetup.md new file mode 100644 index 0000000..ca466bb --- /dev/null +++ b/_meetup/2026-aosp-and-aaos-july-meetup.md @@ -0,0 +1,6 @@ +--- +layout: meetup +title: AOSP and AAOS July Meetup 2026 +--- + +Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. diff --git a/assets/images/aospandaaos-logo.png b/assets/images/aospandaaos-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4aa9e65f18d0d8e3e2b9f84e29c5eecd88ec85a9 GIT binary patch literal 60805 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.${36Tb%#So_f;6x z+=tC@t$?#GvNu#V|)>4YMJ2+KF&XNNV#W&}-{6G$D{K5--+~u%BSP>8+P97$)Jf%jjjw&!KD3bHXVxC8i zn23nTYC3tnB(W+}xubsi+p-9)DPc>d@$77qJ8O3}C$^o}9T`HFTnM0z{CLzCCP79* z*hMu635h`w?mc@Y!k+K^W}6NB9?ngqE*UEc`MK$tb9c-bA8Vk8JE?j&xoA0ng*K0l z&nW*BD=h8VHu!woUovAK!K1+XTZ9of)YGrtYc;x0_CTdWyxCK|OOb;zE%0AUnVOI4 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 literal 0 HcmV?d00001 diff --git a/index.md b/index.md index 65de50e..a3f5bf7 100644 --- a/index.md +++ b/index.md @@ -50,12 +50,8 @@ We organize and create a couple of things: ### The AOSP and AAOS meetup -The AOSP and AAOS meetup is an on-line meetup that happens every two months - -To join the group and find out when the next meeting is, go to -[https://www.meetup.com/the-aosp-and-aaos-meetup/](https://www.meetup.com/the-aosp-and-aaos-meetup/) - -To see the archives of past meetings, go to [https://aospandaaos.github.io/](https://aospandaaos.github.io/) +The AOSP and AAOS meetup is an on-line meetup that happens every two months. +To join the group, find out when the next meeting is and see past meetings, go to [AOSP and AAOS meetup](/meetup/). ### Android Open Source Project at FOSDEM 2026 diff --git a/meetup.md b/meetup.md new file mode 100644 index 0000000..6a19b34 --- /dev/null +++ b/meetup.md @@ -0,0 +1,46 @@ +--- +layout: default +--- + +# The AOSP and AAOS Meetup + +![](/assets/images/aospandaaos-logo.png) + +The AOSP and AAOS Meetup Group is a forum for talking about building, +developing, and testing products based on AOSP (Android Open Source Project) +and AAOS (Android Automotive OS). + +Meetups are the main reason for the existence of the group. Meetings are +held every two months starting in January (so, January, March, May, July, +September, and November). The first was in March 2022. Each meeting is about 2 +hours long, starting with time for meet and greet, followed by two or three +talks of up to 30 minutes each on any topics that we find interesting, followed +by time for networking. Since AOSP and AAOS developers are scattered over a +wide area, this is an online meetup. We use a Meetup.com group to coordinate +the live meetups - https://www.meetup.com/the-aosp-and-aaos-meetup/ + +* you will get a link to the jitsi session when you RSVP to a meeting + +The talks are recorded and available online for those who didn’t make the +meeting, and also to create an archive of useful information. + +TODOs: rework content + +## Joining a meetup + +* describe the new process: discord and email instead of meetup.com + +## Events + + + + +## History + +TODO some words about the history, e.g. the other domain. From 02308bcca6da780295a2698c8f2b49748cdfb954 Mon Sep 17 00:00:00 2001 From: Romain Date: Wed, 1 Jul 2026 16:15:50 +0200 Subject: [PATCH 2/6] feat(meetup): update july 2026 meetup page --- _meetup/2026-07-the-oem-vhal.md | 38 +++++++++++++++++++++++ _meetup/2026-aosp-and-aaos-july-meetup.md | 6 ---- 2 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 _meetup/2026-07-the-oem-vhal.md delete mode 100644 _meetup/2026-aosp-and-aaos-july-meetup.md diff --git a/_meetup/2026-07-the-oem-vhal.md b/_meetup/2026-07-the-oem-vhal.md new file mode 100644 index 0000000..9eaebcd --- /dev/null +++ b/_meetup/2026-07-the-oem-vhal.md @@ -0,0 +1,38 @@ +--- +layout: meetup +title: "July 2026: The OEM VHAL" +--- + +This meetup will take place online via Jitsi. You will receive the access link +with your registration. + +* Date and time: Wednesday, July 15, 2026, 7:00 PM to 8:30 PM CEST +* Time in London: 6:00 PM to 7:30 PM BST (UTC+1) +* Location: online +* Host: Chris Simmonds + +## Agenda + +Times below are in BST (UTC+1). + +### 18:00 Welcome and introduction + +### 18:15 The OEM VHAL + +The default Vehicle HAL that is part of AAOS has strict rules about which +vehicle signals are available to apps. For system apps signed by the OEM, all +signals are available. For all other apps, only a very restricted subset is +allowed. + +The OEM VHAL extends the vehicle property interface to allow all apps +controlled access to all signals, mediated at run-time by the extended VHAL. +The OEM VHAL is a work in progress, and feedback is welcome. + +Jan Kubovy (BMW) + +### 19:00 "What are you working on?" + +A chance for people to introduce themselves and give a brief overview of what +they are working on in a 5 minute slot. + +### 19:30 Session ends diff --git a/_meetup/2026-aosp-and-aaos-july-meetup.md b/_meetup/2026-aosp-and-aaos-july-meetup.md deleted file mode 100644 index ca466bb..0000000 --- a/_meetup/2026-aosp-and-aaos-july-meetup.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: meetup -title: AOSP and AAOS July Meetup 2026 ---- - -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. From c843b0b5102a6ae9a19c026512b74b8280643c10 Mon Sep 17 00:00:00 2001 From: Romain Date: Wed, 1 Jul 2026 16:33:21 +0200 Subject: [PATCH 3/6] docs: update meetup migration content --- _meetup/2026-07-the-oem-vhal.md | 4 +- meetup.md | 73 ++++++++++++++++++++++----------- 2 files changed, 51 insertions(+), 26 deletions(-) diff --git a/_meetup/2026-07-the-oem-vhal.md b/_meetup/2026-07-the-oem-vhal.md index 9eaebcd..d8f56d8 100644 --- a/_meetup/2026-07-the-oem-vhal.md +++ b/_meetup/2026-07-the-oem-vhal.md @@ -3,8 +3,8 @@ layout: meetup title: "July 2026: The OEM VHAL" --- -This meetup will take place online via Jitsi. You will receive the access link -with your registration. +This meetup will take place online via Jitsi. During the transition away from +Meetup.com, access details are shared through the event announcement channels. * Date and time: Wednesday, July 15, 2026, 7:00 PM to 8:30 PM CEST * Time in London: 6:00 PM to 7:30 PM BST (UTC+1) diff --git a/meetup.md b/meetup.md index 6a19b34..347d0ad 100644 --- a/meetup.md +++ b/meetup.md @@ -6,41 +6,66 @@ layout: default ![](/assets/images/aospandaaos-logo.png) -The AOSP and AAOS Meetup Group is a forum for talking about building, -developing, and testing products based on AOSP (Android Open Source Project) -and AAOS (Android Automotive OS). +The AOSP and AAOS meetup is an online meeting place for people working with +the open source parts of Android, especially AOSP and Android Automotive. +The goal is to share practical experience: how people build products, solve +technical problems, test and debug systems, and work with the Android platform +in the real world. -Meetups are the main reason for the existence of the group. Meetings are -held every two months starting in January (so, January, March, May, July, -September, and November). The first was in March 2022. Each meeting is about 2 -hours long, starting with time for meet and greet, followed by two or three -talks of up to 30 minutes each on any topics that we find interesting, followed -by time for networking. Since AOSP and AAOS developers are scattered over a -wide area, this is an online meetup. We use a Meetup.com group to coordinate -the live meetups - https://www.meetup.com/the-aosp-and-aaos-meetup/ - -* you will get a link to the jitsi session when you RSVP to a meeting - -The talks are recorded and available online for those who didn’t make the -meeting, and also to create an archive of useful information. - -TODOs: rework content - -## Joining a meetup - -* describe the new process: discord and email instead of meetup.com +Meetings are held every two months. The series started in March 2022. A +typical session lasts about two hours and includes a short welcome, two or +three talks, and time for discussion and networking. ## Events +## Joining a meetup + +Upcoming meetup details are published on the individual event pages above. +Announcements are made through *aosp-devs.org* and the +[aosp-devs Discord server](https://discord.gg/hH59SPKYv8). You can also follow +the site RSS feed or contact the organisers at +[devs@aosp-devs.org](mailto:devs@aosp-devs.org). + +For online sessions, access details are shared through the channels listed on +each event page. + +## Speak at a meetup + +Input is welcome from all members of the group. Talks can be formal or +informal: slides, demos, short presentations, or open discussions are all +useful. + +Typical topics include: + +* good sources of information about AOSP, including conferences, blog posts, + and other community resources +* running AOSP on real hardware, for example Raspberry Pi +* the Soong build system and Blueprint +* testing and debugging +* emulators such as Cuttlefish, Goldfish, and Trout +* security topics including SELinux, seccomp, and sandboxing +* encryption, secure boot, and trusted execution environments + +If you have something to say, get in touch on Discord or by email. ## History -TODO some words about the history, e.g. the other domain. +The meetup started in March 2022 as an independent online series for AOSP and +AAOS developers. For the first years, it was spread across two places: + +* [aospandaaos.github.io](https://aospandaaos.github.io/) for slides, videos, + and past meetup pages +* [Meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/) for event + listings and RSVPs + +The meetup is now continued here on *aosp-devs.org*, which is the main entry +point for new events. Slides and videos from past talks remain available on +the [AOSP and AAOS meetup archive](https://aospandaaos.github.io/). From 28e574ceb66ef479641fd8adba1f063873ab3a7c Mon Sep 17 00:00:00 2001 From: Stefan Lengfeld Date: Mon, 6 Jul 2026 21:18:11 +0200 Subject: [PATCH 4/6] And some small last additions and corrections --- _meetup/2026-07-the-oem-vhal.md | 8 ++++---- index.md | 2 +- meetup.md | 34 ++++++++++++++++----------------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/_meetup/2026-07-the-oem-vhal.md b/_meetup/2026-07-the-oem-vhal.md index d8f56d8..1fb7a0e 100644 --- a/_meetup/2026-07-the-oem-vhal.md +++ b/_meetup/2026-07-the-oem-vhal.md @@ -3,13 +3,12 @@ layout: meetup title: "July 2026: The OEM VHAL" --- -This meetup will take place online via Jitsi. During the transition away from -Meetup.com, access details are shared through the event announcement channels. +This meetup will take place online via Jitsi. To join the meetup, +please go to [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/314976125/?eventOrigin=group_upcoming_events) +and click *Attend online*: * Date and time: Wednesday, July 15, 2026, 7:00 PM to 8:30 PM CEST * Time in London: 6:00 PM to 7:30 PM BST (UTC+1) -* Location: online -* Host: Chris Simmonds ## Agenda @@ -36,3 +35,4 @@ A chance for people to introduce themselves and give a brief overview of what they are working on in a 5 minute slot. ### 19:30 Session ends + diff --git a/index.md b/index.md index a3f5bf7..c2190d7 100644 --- a/index.md +++ b/index.md @@ -23,7 +23,7 @@ We organize and create a couple of things: * We run the above mentioned Discord server. * We maintain this website and occasionally publish a blog post on [blog](/blog/). * We publish a monthly newsletter since January 2025. They are posted also to our [blog](/blog/). -* We run the [AOSP and AAOS Meetup](https://aospandaaos.github.io/) that was started by Chris Simmonds in 2022. +* We run the [AOSP and AAOS Meetup](/meetup/) that was started by Chris Simmonds in 2022. * We organized the [AOSP Devroom in 2025](https://fosdem.org/2025/schedule/track/aosp/) and helped to organize the [FOSS on Mobile devroom 2026](https://fosdem.org/2026/schedule/track/foss-on-mobile/) at [FOSDEM](https://fosdem.org/). Also we organized the [AOSP devroom 2025](https://fossunited.org/indiafoss/2025/devrooms/aosp) diff --git a/meetup.md b/meetup.md index 347d0ad..d54461a 100644 --- a/meetup.md +++ b/meetup.md @@ -12,9 +12,18 @@ The goal is to share practical experience: how people build products, solve technical problems, test and debug systems, and work with the Android platform in the real world. -Meetings are held every two months. The series started in March 2022. A -typical session lasts about two hours and includes a short welcome, two or -three talks, and time for discussion and networking. +Meetings are held every two months. A typical session lasts about one and a +half hour and includes a short welcome, one or two talks, and time for +discussion and networking. + +## Joining a meetup + +Upcoming meetup details are published on the individual event pages below. +Announcements are made through *aosp-devs.org* and the +[aosp-devs Discord server](https://discord.gg/hH59SPKYv8). You can follow +the site [RSS feed](/feed.xml) as well. + +Access details are shared through the channels listed on each event page. ## Events @@ -26,18 +35,8 @@ three talks, and time for discussion and networking. {% endfor %} -## Joining a meetup - -Upcoming meetup details are published on the individual event pages above. -Announcements are made through *aosp-devs.org* and the -[aosp-devs Discord server](https://discord.gg/hH59SPKYv8). You can also follow -the site RSS feed or contact the organisers at -[devs@aosp-devs.org](mailto:devs@aosp-devs.org). - -For online sessions, access details are shared through the channels listed on -each event page. -## Speak at a meetup +## Speaking at a meetup Input is welcome from all members of the group. Talks can be formal or informal: slides, demos, short presentations, or open discussions are all @@ -54,12 +53,13 @@ Typical topics include: * security topics including SELinux, seccomp, and sandboxing * encryption, secure boot, and trusted execution environments -If you have something to say, get in touch on Discord or by email. +If you have something to say, get in touch on Discord or by email. See the +contact details on [about](/about/). ## History The meetup started in March 2022 as an independent online series for AOSP and -AAOS developers. For the first years, it was spread across two places: +AAOS developers by Chris Simmonds. For the first years, it was spread across two places: * [aospandaaos.github.io](https://aospandaaos.github.io/) for slides, videos, and past meetup pages @@ -68,4 +68,4 @@ AAOS developers. For the first years, it was spread across two places: The meetup is now continued here on *aosp-devs.org*, which is the main entry point for new events. Slides and videos from past talks remain available on -the [AOSP and AAOS meetup archive](https://aospandaaos.github.io/). +the [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html). From 5f880e9c21a2fb5141688f3e487a05eda2a80720 Mon Sep 17 00:00:00 2001 From: Romain Date: Thu, 9 Jul 2026 15:24:50 +0200 Subject: [PATCH 5/6] feat(meetup): add archived meetup pages --- ...the-cuttlefish-emulator-vhal-socketcomm.md | 27 ++++++++++++++ ...a-browsing-and-debugging-framework-code.md | 31 ++++++++++++++++ ...ldb-keeping-embedded-android-up-to-date.md | 27 ++++++++++++++ ...lldb-debugging-custom-rpi4-linux-kernel.md | 31 ++++++++++++++++ ...droid-devices-part-2-debugging-sepolicy.md | 26 +++++++++++++ ...s-thoughts-about-aosp-on-raspberry-pi-4.md | 22 +++++++++++ ...maintenance-in-aosp-debugging-made-easy.md | 22 +++++++++++ ...f-an-android-ota-management-application.md | 28 ++++++++++++++ ...ing-aosp-using-android-studio-revisited.md | 30 +++++++++++++++ ...ive-aosp-based-cloud-streaming-solution.md | 24 ++++++++++++ ...ndroid-devices-adventures-with-systrace.md | 36 ++++++++++++++++++ ...-styled-logging-macros-for-ndk-projects.md | 25 +++++++++++++ ...e-industry-what-to-expect-in-android-15.md | 31 ++++++++++++++++ ...aosp-ecosystem-you-cant-escape-the-past.md | 37 +++++++++++++++++++ ...aos-on-raspberry-pi-an-on-going-project.md | 29 +++++++++++++++ ...and-linux-plumbers-conference-in-vienna.md | 29 +++++++++++++++ ...11-the-aosp-community-and-aosp-devs-org.md | 21 +++++++++++ ...friend-exploring-android-kiosk-variants.md | 28 ++++++++++++++ ...ex-in-aosp-what-to-expect-in-android-16.md | 29 +++++++++++++++ .../2025-07-writing-android-system-apps.md | 22 +++++++++++ ...nux-in-aosp-from-frustration-to-control.md | 23 ++++++++++++ ...oid-os-at-scale-ai-powered-log-analysis.md | 32 ++++++++++++++++ ...-slashing-build-times-without-migration.md | 29 +++++++++++++++ meetup.md | 3 +- 24 files changed, 641 insertions(+), 1 deletion(-) create mode 100644 _meetup/2022-03-aims-and-objectives-the-cuttlefish-emulator-vhal-socketcomm.md create mode 100644 _meetup/2022-05-securing-imx6-android-devices-long-term-support-for-enterprise-android-devices-introduction-to-covesa-browsing-and-debugging-framework-code.md create mode 100644 _meetup/2022-07-extending-the-vehicle-hal-with-vendor-properties-debugging-native-platform-code-using-lldb-keeping-embedded-android-up-to-date.md create mode 100644 _meetup/2022-09-linux-plumbers-conference-android-trout-you-can-do-better-than-bug-reports-gdb-lldb-debugging-custom-rpi4-linux-kernel.md create mode 100644 _meetup/2022-11-connectivityservice-and-networking-in-android-securing-imx6-android-devices-part-2-debugging-sepolicy.md create mode 100644 _meetup/2023-01-app-developers-and-android-automotive-os-thoughts-about-aosp-on-raspberry-pi-4.md create mode 100644 _meetup/2023-03-devboard-maintenance-in-aosp-debugging-made-easy.md create mode 100644 _meetup/2023-05-broadcast-radio-in-aaos-ramses-evolution-of-an-android-ota-management-application.md create mode 100644 _meetup/2023-07-binder-rpc-debugging-aosp-using-android-studio-revisited.md create mode 100644 _meetup/2023-09-interactive-aosp-based-cloud-streaming-solution.md create mode 100644 _meetup/2023-11-working-with-custom-android-devices-adventures-with-systrace.md create mode 100644 _meetup/2024-01-selinux-in-android-aminilog-aosp-styled-logging-macros-for-ndk-projects.md create mode 100644 _meetup/2024-03-android-fragmentation-in-the-automotive-industry-what-to-expect-in-android-15.md create mode 100644 _meetup/2024-05-introducing-aosp-meetup-projects-automotive-aosp-ecosystem-you-cant-escape-the-past.md create mode 100644 _meetup/2024-07-aosp-development-environment-best-practices-tips-and-tricks-aaos-on-raspberry-pi-an-on-going-project.md create mode 100644 _meetup/2024-09-the-covesa-aosp-sdk-feedback-from-oss-and-linux-plumbers-conference-in-vienna.md create mode 100644 _meetup/2024-11-the-aosp-community-and-aosp-devs-org.md create mode 100644 _meetup/2025-01-bugreport-is-your-friend-exploring-android-kiosk-variants.md create mode 100644 _meetup/2025-03-using-vendor-apex-in-aosp-what-to-expect-in-android-16.md create mode 100644 _meetup/2025-07-writing-android-system-apps.md create mode 100644 _meetup/2025-09-mastering-selinux-in-aosp-from-frustration-to-control.md create mode 100644 _meetup/2026-01-keeping-android-up-to-date-when-the-oem-fails-to-debugging-android-os-at-scale-ai-powered-log-analysis.md create mode 100644 _meetup/2026-03-acceleration-x-aosp-slashing-build-times-without-migration.md diff --git a/_meetup/2022-03-aims-and-objectives-the-cuttlefish-emulator-vhal-socketcomm.md b/_meetup/2022-03-aims-and-objectives-the-cuttlefish-emulator-vhal-socketcomm.md new file mode 100644 index 0000000..5607046 --- /dev/null +++ b/_meetup/2022-03-aims-and-objectives-the-cuttlefish-emulator-vhal-socketcomm.md @@ -0,0 +1,27 @@ +--- +layout: meetup +title: "March 2022: Aims and Objectives / The Cuttlefish Emulator / VHAL SocketComm" +--- + +This page preserves the agenda for the March 2022 AOSP and AAOS Meetup. + +* Date: 16 March 2022 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/284376317/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-march-2022-meetup) + +This was the first meetup of the group. The original archive entry includes +the published slides for the session. + +## Agenda + +### Talk 1: Aims and Objectives of the AOSP and AAOS Meetup + +Chris Simmonds, 2net + +### Talk 2: The Cuttlefish Emulator + +Chris Simmonds, 2net + +### Talk 3: VHAL SocketComm + +Chris Simmonds, 2net diff --git a/_meetup/2022-05-securing-imx6-android-devices-long-term-support-for-enterprise-android-devices-introduction-to-covesa-browsing-and-debugging-framework-code.md b/_meetup/2022-05-securing-imx6-android-devices-long-term-support-for-enterprise-android-devices-introduction-to-covesa-browsing-and-debugging-framework-code.md new file mode 100644 index 0000000..9c66ebf --- /dev/null +++ b/_meetup/2022-05-securing-imx6-android-devices-long-term-support-for-enterprise-android-devices-introduction-to-covesa-browsing-and-debugging-framework-code.md @@ -0,0 +1,31 @@ +--- +layout: meetup +title: "May 2022: Securing iMX6 Android Devices / Long term support for Enterprise Android Devices / Introduction to COVESA / Browsing and debugging framework code" +--- + +This page preserves the agenda for the May 2022 AOSP and AAOS Meetup. + +* Date: 18 May 2022 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/284503177/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-may-2022-meetup) + +Published resources for this meetup remain available from the archive entry +above. + +## Agenda + +### Talk 1: Securing iMX6 Android Devices + +Andrea Scian, DAVE Embedded Systems + +### Talk 2: Long term support for Enterprise Android Devices + +Rupesh Gujare, NotioNext + +### Talk 3: Introduction to COVESA and the Android Automotive Special Interest Group + +Paul Boyes, COVESA + +### Talk 4: Browsing and debugging framework code using Android Studio + +Chris Simmonds, 2net diff --git a/_meetup/2022-07-extending-the-vehicle-hal-with-vendor-properties-debugging-native-platform-code-using-lldb-keeping-embedded-android-up-to-date.md b/_meetup/2022-07-extending-the-vehicle-hal-with-vendor-properties-debugging-native-platform-code-using-lldb-keeping-embedded-android-up-to-date.md new file mode 100644 index 0000000..a65abc3 --- /dev/null +++ b/_meetup/2022-07-extending-the-vehicle-hal-with-vendor-properties-debugging-native-platform-code-using-lldb-keeping-embedded-android-up-to-date.md @@ -0,0 +1,27 @@ +--- +layout: meetup +title: "July 2022: Extending the Vehicle HAL with vendor properties / Debugging native platform code using LLDB / Keeping Embedded Android Up To Date" +--- + +This page preserves the agenda for the July 2022 AOSP and AAOS Meetup. + +* Date: 20 July 2022 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/285701618/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-july-2022-meetup) + +Published resources for this meetup remain available from the archive entry +above. + +## Agenda + +### Talk 1: Extending the Vehicle HAL with vendor properties + +Chris Simmonds, 2net + +### Talk 2: Debugging native platform code using LLDB + +Chris Simmonds, 2net + +### Talk 3: Keeping Embedded Android Up To Date + +Igor Kalkov-Streitz, Emteria diff --git a/_meetup/2022-09-linux-plumbers-conference-android-trout-you-can-do-better-than-bug-reports-gdb-lldb-debugging-custom-rpi4-linux-kernel.md b/_meetup/2022-09-linux-plumbers-conference-android-trout-you-can-do-better-than-bug-reports-gdb-lldb-debugging-custom-rpi4-linux-kernel.md new file mode 100644 index 0000000..87be3e7 --- /dev/null +++ b/_meetup/2022-09-linux-plumbers-conference-android-trout-you-can-do-better-than-bug-reports-gdb-lldb-debugging-custom-rpi4-linux-kernel.md @@ -0,0 +1,31 @@ +--- +layout: meetup +title: "September 2022: Linux Plumbers Conference / Android Trout / You can do better than bug reports / gdb & lldb debugging custom RPI4 linux kernel" +--- + +This page preserves the agenda for the September 2022 AOSP and AAOS Meetup. + +* Date: 28 September 2022 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/287270409/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-september-2022-meetup) + +Slides, videos, and shared files for this meetup remain available from the +archive entry above. + +## Agenda + +### Talk 1: Notes from Linux Plumbers Conference + +Chris Simmonds, 2net + +### Talk 2: Swimming towards a Software Defined Architecture with Android Trout + +Isaac Trefz, OpenSynergy + +### Talk 3: You can do better than bug reports + +Devon Yablonski, Memfault + +### Talk 4: gdb & lldb debugging custom RPI4 linux kernel + +Jürgen Weißer diff --git a/_meetup/2022-11-connectivityservice-and-networking-in-android-securing-imx6-android-devices-part-2-debugging-sepolicy.md b/_meetup/2022-11-connectivityservice-and-networking-in-android-securing-imx6-android-devices-part-2-debugging-sepolicy.md new file mode 100644 index 0000000..db5686d --- /dev/null +++ b/_meetup/2022-11-connectivityservice-and-networking-in-android-securing-imx6-android-devices-part-2-debugging-sepolicy.md @@ -0,0 +1,26 @@ +--- +layout: meetup +title: "November 2022: ConnectivityService and networking in Android / Securing iMX6 Android Devices, Part 2 / Debugging SEPolicy" +--- + +This page preserves the agenda for the November 2022 AOSP and AAOS Meetup. + +* Date: 16 November 2022 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/288711718/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-november-2022-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Talk 1: ConnectivityService and networking in Android + +Diogo Júnior, Critical TechWorks + +### Talk 2: Securing iMX6 Android Devices, Part 2 + +Andrea Scian, DAVE Embedded Systems + +### Talk 3: Debugging SEPolicy + +Chris Simmonds, 2net diff --git a/_meetup/2023-01-app-developers-and-android-automotive-os-thoughts-about-aosp-on-raspberry-pi-4.md b/_meetup/2023-01-app-developers-and-android-automotive-os-thoughts-about-aosp-on-raspberry-pi-4.md new file mode 100644 index 0000000..f0e2a8d --- /dev/null +++ b/_meetup/2023-01-app-developers-and-android-automotive-os-thoughts-about-aosp-on-raspberry-pi-4.md @@ -0,0 +1,22 @@ +--- +layout: meetup +title: "January 2023: App developers and Android Automotive OS / Thoughts about AOSP on Raspberry Pi 4" +--- + +This page preserves the agenda for the January 2023 AOSP and AAOS Meetup. + +* Date: 11 January 2023 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/289470147/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-january-2023-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Talk 1: App developers and Android Automotive OS + +Al Sutton, Snapp Automotive + +### Talk 2: Thoughts about AOSP on Raspberry Pi 4 + +Chris Simmonds, 2net diff --git a/_meetup/2023-03-devboard-maintenance-in-aosp-debugging-made-easy.md b/_meetup/2023-03-devboard-maintenance-in-aosp-debugging-made-easy.md new file mode 100644 index 0000000..f8d2821 --- /dev/null +++ b/_meetup/2023-03-devboard-maintenance-in-aosp-debugging-made-easy.md @@ -0,0 +1,22 @@ +--- +layout: meetup +title: "March 2023: Devboard maintenance in AOSP / Debugging Made Easy" +--- + +This page preserves the agenda for the March 2023 AOSP and AAOS Meetup. + +* Date: 29 March 2023 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/290740637/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-march-2023-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Talk 1: Devboard maintenance in AOSP + +Amit Pundir, Linaro + +### Talk 2: Debugging Made Easy: Tips and Tricks for Android Developers + +Chris Hayes, Memfault diff --git a/_meetup/2023-05-broadcast-radio-in-aaos-ramses-evolution-of-an-android-ota-management-application.md b/_meetup/2023-05-broadcast-radio-in-aaos-ramses-evolution-of-an-android-ota-management-application.md new file mode 100644 index 0000000..94b4dd9 --- /dev/null +++ b/_meetup/2023-05-broadcast-radio-in-aaos-ramses-evolution-of-an-android-ota-management-application.md @@ -0,0 +1,28 @@ +--- +layout: meetup +title: "May 2023: Broadcast Radio in AAOS / RAMSES / Evolution of an Android OTA management application" +--- + +This page preserves the agenda for the May 2023 AOSP and AAOS Meetup. + +* Date: 24 May 2023 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/292517323/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-may-2023-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Introduction + +### Talk 1: Broadcast Radio in AAOS + +Simon Osim, Conjure + +### Talk 2: RAMSES – An open source 3D graphics tool chain for Android + +Klaus Gaßner, Paradox Cat + +### Talk 3: Evolution of an Android OTA management application + +Diego Rondini, Kynetics diff --git a/_meetup/2023-07-binder-rpc-debugging-aosp-using-android-studio-revisited.md b/_meetup/2023-07-binder-rpc-debugging-aosp-using-android-studio-revisited.md new file mode 100644 index 0000000..2064eff --- /dev/null +++ b/_meetup/2023-07-binder-rpc-debugging-aosp-using-android-studio-revisited.md @@ -0,0 +1,30 @@ +--- +layout: meetup +title: "July 2023: Binder RPC / Debugging AOSP using Android Studio - revisited" +--- + +This page preserves the agenda for the July 2023 AOSP and AAOS Meetup. + +* Date: 12 July 2023 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/293488203/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-july-2023-meetup) + +Slides, videos, and related links for this meetup remain available from the +archive entry above. + +## Agenda + +### Introduction + +### Talk 1: Binder RPC - AIDL for distributed systems + +David Brazdil, Google + +### Talk 2: Debugging AOSP using Android Studio - revisited + +Chris Simmonds, 2net + +### Useful links + +The original archive entry includes the additional references shared during +this meetup. diff --git a/_meetup/2023-09-interactive-aosp-based-cloud-streaming-solution.md b/_meetup/2023-09-interactive-aosp-based-cloud-streaming-solution.md new file mode 100644 index 0000000..b571d02 --- /dev/null +++ b/_meetup/2023-09-interactive-aosp-based-cloud-streaming-solution.md @@ -0,0 +1,24 @@ +--- +layout: meetup +title: "September 2023: Interactive AOSP-based cloud streaming solution" +--- + +This page preserves the agenda for the September 2023 AOSP and AAOS Meetup. + +* Date: 27 September 2023 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/294716404/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-september-2023-meetup) + +Published resources for this meetup remain available from the archive entry +above. + +## Agenda + +### Introduction + +### Talk 1: Interactive AOSP-based cloud streaming solution + +Running an AOSP 13 adaptation on an ARM64 cloud server, streamed to an actual +phone at high frame rate and low latency for touch events. + +Simonas Leleiva, iond.io diff --git a/_meetup/2023-11-working-with-custom-android-devices-adventures-with-systrace.md b/_meetup/2023-11-working-with-custom-android-devices-adventures-with-systrace.md new file mode 100644 index 0000000..abaa0dc --- /dev/null +++ b/_meetup/2023-11-working-with-custom-android-devices-adventures-with-systrace.md @@ -0,0 +1,36 @@ +--- +layout: meetup +title: "November 2023: Working with custom Android devices / Adventures with Systrace" +--- + +This page preserves the agenda for the November 2023 AOSP and AAOS Meetup. + +* Date: 15 November 2023 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/296399142/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-november-2023-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Introduction + +### Talk 1: Working with custom Android devices + +This session covers the most important parts of working on custom devices, +including developer boards, BSPs, AOSP builds, firmware updates, and more. + +Erik Hellman + +### Talk 2: Adventures with Systrace - measure and investigate the glass to glass latency in Android + +This presentation explores glass-to-glass latency in Android, from the +measurement setup and hardware characteristics to displays, SurfaceFlinger, +vsync, and systrace. + +Stefan Lengfeld, inovex + +### Q & A + +Following the two talks there was a Q and A session covering topics from the +presentations and related subjects. diff --git a/_meetup/2024-01-selinux-in-android-aminilog-aosp-styled-logging-macros-for-ndk-projects.md b/_meetup/2024-01-selinux-in-android-aminilog-aosp-styled-logging-macros-for-ndk-projects.md new file mode 100644 index 0000000..2cc7848 --- /dev/null +++ b/_meetup/2024-01-selinux-in-android-aminilog-aosp-styled-logging-macros-for-ndk-projects.md @@ -0,0 +1,25 @@ +--- +layout: meetup +title: "January 2024: SELinux in Android / aminilog – AOSP styled logging macros for NDK projects" +--- + +This page preserves the agenda for the January 2024 AOSP and AAOS Meetup. + +* Date: 24 January 2024 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/297043889/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-january-2024-meetup) + +Published resources for this meetup remain available from the archive entry +above. + +## Agenda + +### Talk 1: SELinux in Android + +How SELinux works and how it is used to make Android more secure. + +Alan Stokes, Google + +### Talk 2: aminilog – AOSP styled logging macros for NDK projects + +Stefan Lengfeld, inovex diff --git a/_meetup/2024-03-android-fragmentation-in-the-automotive-industry-what-to-expect-in-android-15.md b/_meetup/2024-03-android-fragmentation-in-the-automotive-industry-what-to-expect-in-android-15.md new file mode 100644 index 0000000..d82995d --- /dev/null +++ b/_meetup/2024-03-android-fragmentation-in-the-automotive-industry-what-to-expect-in-android-15.md @@ -0,0 +1,31 @@ +--- +layout: meetup +title: "March 2024: Android Fragmentation in the Automotive Industry / What to expect in Android 15" +--- + +This page preserves the agenda for the March 2024 AOSP and AAOS Meetup. + +* Date: 20 March 2024 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/298562265/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-march-2024-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Introduction + +### Talk 1: Android Fragmentation in the Automotive Industry + +Android fragmentation is becoming a real issue in the automotive industry. +This talk asks what it is and what can be done to prevent it. + +Juhani Lehtimäki, Snapp Automotive + +### Talk 2: What to expect in Android 15 + +This talk surveys what could be learned about Android 15 from developer +previews, AOSP code changes, and documentation before the public source +release. + +Mishaal Rahman diff --git a/_meetup/2024-05-introducing-aosp-meetup-projects-automotive-aosp-ecosystem-you-cant-escape-the-past.md b/_meetup/2024-05-introducing-aosp-meetup-projects-automotive-aosp-ecosystem-you-cant-escape-the-past.md new file mode 100644 index 0000000..f1eb859 --- /dev/null +++ b/_meetup/2024-05-introducing-aosp-meetup-projects-automotive-aosp-ecosystem-you-cant-escape-the-past.md @@ -0,0 +1,37 @@ +--- +layout: meetup +title: "May 2024: Introducing AOSP Meetup Projects / Automotive AOSP Ecosystem / You Can't Escape the Past" +--- + +This page preserves the agenda for the May 2024 AOSP and AAOS Meetup. + +* Date: 22 May 2024 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/299905713/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-may-2024-meetup) + +Videos and other published resources for this meetup remain available from the +archive entry above. + +## Agenda + +### Introduction + +### Talk 1: Introducing AOSP Meetup Projects + +Chris Simmonds + +### Talk 2: Automotive AOSP Ecosystem: challenges and opportunities for App Developers + +This session explores how Android-based IVI platforms are spreading across +automotive OEMs, what that means for app portability, and how COVESA is +working to reduce ecosystem fragmentation. + +José Freitas, Faurecia Aptoide + +### Talk 3: You Can't Escape the Past: How early design decisions continue to influence Android today + +Chet Haase reflects on the early Android team and explains how long-standing +choices in areas like graphics, security, and application development still +shape the platform today. + +Chet Haase diff --git a/_meetup/2024-07-aosp-development-environment-best-practices-tips-and-tricks-aaos-on-raspberry-pi-an-on-going-project.md b/_meetup/2024-07-aosp-development-environment-best-practices-tips-and-tricks-aaos-on-raspberry-pi-an-on-going-project.md new file mode 100644 index 0000000..e0b9ef9 --- /dev/null +++ b/_meetup/2024-07-aosp-development-environment-best-practices-tips-and-tricks-aaos-on-raspberry-pi-an-on-going-project.md @@ -0,0 +1,29 @@ +--- +layout: meetup +title: "July 2024: AOSP Development Environment best practices, tips, and tricks / AAOS on Raspberry Pi: an on-going project" +--- + +This page preserves the agenda for the July 2024 AOSP and AAOS Meetup. + +* Date: 17 July 2024 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/301171250/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-july-2024-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Introduction + +### Talk 1: AOSP Development Environment best practices, tips, and tricks + +This presentation focuses on tools used for AOSP development, with an emphasis +on Visual Studio Code and live demos. + +Roman Illarionov and Viktor Mukha, Paradoxcat + +### Talk 2: AAOS on Raspberry Pi: an on-going project + +An update on the state of the project. + +Chris Simmonds diff --git a/_meetup/2024-09-the-covesa-aosp-sdk-feedback-from-oss-and-linux-plumbers-conference-in-vienna.md b/_meetup/2024-09-the-covesa-aosp-sdk-feedback-from-oss-and-linux-plumbers-conference-in-vienna.md new file mode 100644 index 0000000..b774c74 --- /dev/null +++ b/_meetup/2024-09-the-covesa-aosp-sdk-feedback-from-oss-and-linux-plumbers-conference-in-vienna.md @@ -0,0 +1,29 @@ +--- +layout: meetup +title: "September 2024: The COVESA AOSP SDK / Feedback from OSS and Linux Plumbers Conference in Vienna" +--- + +This page preserves the agenda for the September 2024 AOSP and AAOS Meetup. + +* Date: 25 September 2024 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/302287940/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-september-2024-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Talk 1: The COVESA AOSP SDK + +Members of COVESA's Automotive AOSP App Framework Standardization Expert Group +are building an SDK that helps third-party applications access automotive +features in a way that is independent of manufacturer and model. + +Daniele Bonaldo, Snapp Automotive + +### Talk 2: Feedback from OSS and Linux Plumbers Conference in Vienna + +An overview of AOSP-related talks, themes, and hallway conversations from the +Open Source Summit Europe and Linux Plumbers Conference in Vienna. + +Chris Simmonds, 2net diff --git a/_meetup/2024-11-the-aosp-community-and-aosp-devs-org.md b/_meetup/2024-11-the-aosp-community-and-aosp-devs-org.md new file mode 100644 index 0000000..71c7973 --- /dev/null +++ b/_meetup/2024-11-the-aosp-community-and-aosp-devs-org.md @@ -0,0 +1,21 @@ +--- +layout: meetup +title: "November 2024: The AOSP community and aosp-devs.org" +--- + +This page preserves the agenda for the November 2024 AOSP and AAOS Meetup. + +* Date: 20 November 2024 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/303637090/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-november-2024-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Talk 1: The AOSP community and aosp-devs.org + +Chris Simmonds talks about the genesis of the group, its aims, and its early +achievements, together with the launch of aosp-devs.org. + +Chris Simmonds diff --git a/_meetup/2025-01-bugreport-is-your-friend-exploring-android-kiosk-variants.md b/_meetup/2025-01-bugreport-is-your-friend-exploring-android-kiosk-variants.md new file mode 100644 index 0000000..f4fec30 --- /dev/null +++ b/_meetup/2025-01-bugreport-is-your-friend-exploring-android-kiosk-variants.md @@ -0,0 +1,28 @@ +--- +layout: meetup +title: "January 2025: Bugreport is your friend / Exploring Android Kiosk Variants" +--- + +This page preserves the agenda for the January 2025 AOSP and AAOS Meetup. + +* Date: 29 January 2025 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/304614725/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-january-2025-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Talk 1: Bugreport is your friend + +This talk highlights the bugreport information that can help resolve issues +such as audio mixing problems, screen flicker, and AAOS car power policy +issues. + +Ramalinga Prasad Tadapalli + +### Talk 2: Exploring Android Kiosk Variants + +Defining requirements for restricted Android UI. + +Igor Kalkov-Streitz, Emteria diff --git a/_meetup/2025-03-using-vendor-apex-in-aosp-what-to-expect-in-android-16.md b/_meetup/2025-03-using-vendor-apex-in-aosp-what-to-expect-in-android-16.md new file mode 100644 index 0000000..d7bc959 --- /dev/null +++ b/_meetup/2025-03-using-vendor-apex-in-aosp-what-to-expect-in-android-16.md @@ -0,0 +1,29 @@ +--- +layout: meetup +title: "March 2025: Using Vendor APEX in AOSP / What to expect in Android 16" +--- + +This page preserves the agenda for the March 2025 AOSP and AAOS Meetup. + +* Date: 19 March 2025 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/305840348/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-march-2025-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Talk 1: Using Vendor APEX in AOSP + +Vendor APEX modules allow developers to package entire feature +implementations, such as the WiFi HAL, into a single self-contained unit for +faster iteration, simpler testing, easier debugging, and modular updates. + +Renjith Rajagopal + +### Talk 2: What to expect in Android 16 + +Android 16 moved to an earlier release window in 2025. This session gives a +summary of the platform changes and release expectations discussed at the time. + +Mishaal Rahman diff --git a/_meetup/2025-07-writing-android-system-apps.md b/_meetup/2025-07-writing-android-system-apps.md new file mode 100644 index 0000000..f3667ca --- /dev/null +++ b/_meetup/2025-07-writing-android-system-apps.md @@ -0,0 +1,22 @@ +--- +layout: meetup +title: "July 2025: Writing Android system apps" +--- + +This page preserves the agenda for the July 2025 AOSP and AAOS Meetup. + +* Date: 16 July 2025 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/307910082/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-july-2025-meetup) + +Slides for this meetup remain available from the archive entry above. + +## Agenda + +### Talk 1: Writing Android system apps + +Normal apps are limited by their sandbox. System apps can escape those limits +to varying extents, and this talk explains the different kinds of system app +and how to build them in AOSP. + +Chris Simmonds diff --git a/_meetup/2025-09-mastering-selinux-in-aosp-from-frustration-to-control.md b/_meetup/2025-09-mastering-selinux-in-aosp-from-frustration-to-control.md new file mode 100644 index 0000000..dc890fb --- /dev/null +++ b/_meetup/2025-09-mastering-selinux-in-aosp-from-frustration-to-control.md @@ -0,0 +1,23 @@ +--- +layout: meetup +title: "September 2025: Mastering SELinux in AOSP: From Frustration to Control" +--- + +This page preserves the agenda for the September 2025 AOSP and AAOS Meetup. + +* Date: 17 September 2025 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/309610342/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-september-2025-meetup) + +The original archive entry includes the published recording for this meetup. + +## Agenda + +### Talk 1: Mastering SELinux in AOSP: From Frustration to Control + +SELinux is often seen as a blocker when working with AOSP, especially when +"avc: denied" messages get in the way. This talk covers why SELinux matters +for Android security, how to maintain SEPolicy in real projects, and practical +techniques to debug and fix policy issues. + +Daniel Fages diff --git a/_meetup/2026-01-keeping-android-up-to-date-when-the-oem-fails-to-debugging-android-os-at-scale-ai-powered-log-analysis.md b/_meetup/2026-01-keeping-android-up-to-date-when-the-oem-fails-to-debugging-android-os-at-scale-ai-powered-log-analysis.md new file mode 100644 index 0000000..c131133 --- /dev/null +++ b/_meetup/2026-01-keeping-android-up-to-date-when-the-oem-fails-to-debugging-android-os-at-scale-ai-powered-log-analysis.md @@ -0,0 +1,32 @@ +--- +layout: meetup +title: "January 2026: Keeping Android up to date when the OEM fails to / Debugging Android OS at Scale: AI-Powered Log Analysis" +--- + +This page preserves the agenda for the January 2026 AOSP and AAOS Meetup. + +* Date: 28 January 2026 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/312079993/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-january-2026-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Introduction + +### Talk 1: Keeping Android up to date when the OEM fails to + +The Advantech TPC-107W only supports Android 10 without secure boot. This talk +shows how running newer software was achieved without any help from Advantech, +and which challenges had to be overcome along the way. + +Michael Zimmermann, 7/LAB + +### Talk 2: Debugging Android OS at Scale: AI-Powered Log Analysis + +AOSP builders spend hours manually correlating events across logcat, dmesg, +and bugreports to debug system issues. This talk presents AI-assisted +investigation workflows designed to automate multi-step root cause analysis. + +Varun Chitre, logcat.ai diff --git a/_meetup/2026-03-acceleration-x-aosp-slashing-build-times-without-migration.md b/_meetup/2026-03-acceleration-x-aosp-slashing-build-times-without-migration.md new file mode 100644 index 0000000..a9d766d --- /dev/null +++ b/_meetup/2026-03-acceleration-x-aosp-slashing-build-times-without-migration.md @@ -0,0 +1,29 @@ +--- +layout: meetup +title: "March 2026: Acceleration x AOSP: Slashing build times without migration" +--- + +This page preserves the agenda for the March 2026 AOSP and AAOS Meetup. + +* Date: 18 March 2026 +* Event page: [meetup.com](https://www.meetup.com/the-aosp-and-aaos-meetup/events/312460202/) +* Archive entry: [AOSP and AAOS meetup archive](https://aospandaaos.github.io/meetup.html#the-march-2026-meetup) + +Slides and videos for this meetup remain available from the archive entry above. + +## Agenda + +### Talk 1: Acceleration x AOSP: Slashing build times without migration + +AOSP development often involves long wait times and "variant explosion" +across different hardware targets. This talk shows how to use process-level +caching and distributed execution to cut two-hour builds down to twenty +minutes without needing to touch your Soong or Ninja scripts. + +Peleg Rand, Incredibuild + +### Discussion: the state of Embedded Android + +A round table discussion about Embedded Android: Android built into devices +that are beyond the profiles that Google support, including phones, tablets, +TVs, wearables, and automotive. diff --git a/meetup.md b/meetup.md index d54461a..3db5c24 100644 --- a/meetup.md +++ b/meetup.md @@ -28,7 +28,8 @@ Access details are shared through the channels listed on each event page. ## Events
    -{% for meetup in site.meetup %} +{% assign meetups = site.meetup | sort: "path" | reverse %} +{% for meetup in meetups %}
  • {{ meetup.title }}
  • From fa3d165d04c55a3b81650c9e06e1448234807eb8 Mon Sep 17 00:00:00 2001 From: Romain Date: Thu, 9 Jul 2026 15:29:51 +0200 Subject: [PATCH 6/6] refactor(meetup): shorten meetup titles and slugs --- ...r-vhal-socketcomm.md => 2022-03-kickoff-cuttlefish-vhal.md} | 2 +- ...ugging-framework-code.md => 2022-05-security-lts-covesa.md} | 2 +- ...dded-android-up-to-date.md => 2022-07-vhal-lldb-updates.md} | 2 +- ...tom-rpi4-linux-kernel.md => 2022-09-lpc-trout-debugging.md} | 2 +- ...bugging-sepolicy.md => 2022-11-networking-imx6-sepolicy.md} | 2 +- ...-on-raspberry-pi-4.md => 2023-01-aaos-apps-raspberry-pi.md} | 2 +- ...p-debugging-made-easy.md => 2023-03-devboards-debugging.md} | 2 +- ...a-management-application.md => 2023-05-radio-ramses-ota.md} | 2 +- ...tudio-revisited.md => 2023-07-binder-rpc-android-studio.md} | 2 +- ...-cloud-streaming-solution.md => 2023-09-cloud-streaming.md} | 2 +- ...res-with-systrace.md => 2023-11-custom-devices-systrace.md} | 2 +- ...-macros-for-ndk-projects.md => 2024-01-selinux-aminilog.md} | 2 +- ...ct-in-android-15.md => 2024-03-fragmentation-android-15.md} | 2 +- ...t-escape-the-past.md => 2024-05-projects-aosp-ecosystem.md} | 2 +- ...oing-project.md => 2024-07-dev-environment-raspberry-pi.md} | 2 +- ...rs-conference-in-vienna.md => 2024-09-covesa-sdk-vienna.md} | 2 +- ...ommunity-and-aosp-devs-org.md => 2024-11-aosp-community.md} | 2 +- ...-android-kiosk-variants.md => 2025-01-bugreports-kiosks.md} | 2 +- ...pect-in-android-16.md => 2025-03-vendor-apex-android-16.md} | 2 +- ...7-writing-android-system-apps.md => 2025-07-system-apps.md} | 2 +- ...om-frustration-to-control.md => 2025-09-selinux-control.md} | 2 +- ...red-log-analysis.md => 2026-01-oem-updates-log-analysis.md} | 2 +- ...imes-without-migration.md => 2026-03-faster-aosp-builds.md} | 2 +- _meetup/{2026-07-the-oem-vhal.md => 2026-07-oem-vhal.md} | 3 +-- 24 files changed, 24 insertions(+), 25 deletions(-) rename _meetup/{2022-03-aims-and-objectives-the-cuttlefish-emulator-vhal-socketcomm.md => 2022-03-kickoff-cuttlefish-vhal.md} (88%) rename _meetup/{2022-05-securing-imx6-android-devices-long-term-support-for-enterprise-android-devices-introduction-to-covesa-browsing-and-debugging-framework-code.md => 2022-05-security-lts-covesa.md} (82%) rename _meetup/{2022-07-extending-the-vehicle-hal-with-vendor-properties-debugging-native-platform-code-using-lldb-keeping-embedded-android-up-to-date.md => 2022-07-vhal-lldb-updates.md} (81%) rename _meetup/{2022-09-linux-plumbers-conference-android-trout-you-can-do-better-than-bug-reports-gdb-lldb-debugging-custom-rpi4-linux-kernel.md => 2022-09-lpc-trout-debugging.md} (83%) rename _meetup/{2022-11-connectivityservice-and-networking-in-android-securing-imx6-android-devices-part-2-debugging-sepolicy.md => 2022-11-networking-imx6-sepolicy.md} (83%) rename _meetup/{2023-01-app-developers-and-android-automotive-os-thoughts-about-aosp-on-raspberry-pi-4.md => 2023-01-aaos-apps-raspberry-pi.md} (84%) rename _meetup/{2023-03-devboard-maintenance-in-aosp-debugging-made-easy.md => 2023-03-devboards-debugging.md} (88%) rename _meetup/{2023-05-broadcast-radio-in-aaos-ramses-evolution-of-an-android-ota-management-application.md => 2023-05-radio-ramses-ota.md} (86%) rename _meetup/{2023-07-binder-rpc-debugging-aosp-using-android-studio-revisited.md => 2023-07-binder-rpc-android-studio.md} (89%) rename _meetup/{2023-09-interactive-aosp-based-cloud-streaming-solution.md => 2023-09-cloud-streaming.md} (90%) rename _meetup/{2023-11-working-with-custom-android-devices-adventures-with-systrace.md => 2023-11-custom-devices-systrace.md} (92%) rename _meetup/{2024-01-selinux-in-android-aminilog-aosp-styled-logging-macros-for-ndk-projects.md => 2024-01-selinux-aminilog.md} (86%) rename _meetup/{2024-03-android-fragmentation-in-the-automotive-industry-what-to-expect-in-android-15.md => 2024-03-fragmentation-android-15.md} (89%) rename _meetup/{2024-05-introducing-aosp-meetup-projects-automotive-aosp-ecosystem-you-cant-escape-the-past.md => 2024-05-projects-aosp-ecosystem.md} (91%) rename _meetup/{2024-07-aosp-development-environment-best-practices-tips-and-tricks-aaos-on-raspberry-pi-an-on-going-project.md => 2024-07-dev-environment-raspberry-pi.md} (86%) rename _meetup/{2024-09-the-covesa-aosp-sdk-feedback-from-oss-and-linux-plumbers-conference-in-vienna.md => 2024-09-covesa-sdk-vienna.md} (90%) rename _meetup/{2024-11-the-aosp-community-and-aosp-devs-org.md => 2024-11-aosp-community.md} (91%) rename _meetup/{2025-01-bugreport-is-your-friend-exploring-android-kiosk-variants.md => 2025-01-bugreports-kiosks.md} (90%) rename _meetup/{2025-03-using-vendor-apex-in-aosp-what-to-expect-in-android-16.md => 2025-03-vendor-apex-android-16.md} (92%) rename _meetup/{2025-07-writing-android-system-apps.md => 2025-07-system-apps.md} (93%) rename _meetup/{2025-09-mastering-selinux-in-aosp-from-frustration-to-control.md => 2025-09-selinux-control.md} (90%) rename _meetup/{2026-01-keeping-android-up-to-date-when-the-oem-fails-to-debugging-android-os-at-scale-ai-powered-log-analysis.md => 2026-01-oem-updates-log-analysis.md} (89%) rename _meetup/{2026-03-acceleration-x-aosp-slashing-build-times-without-migration.md => 2026-03-faster-aosp-builds.md} (92%) rename _meetup/{2026-07-the-oem-vhal.md => 2026-07-oem-vhal.md} (97%) diff --git a/_meetup/2022-03-aims-and-objectives-the-cuttlefish-emulator-vhal-socketcomm.md b/_meetup/2022-03-kickoff-cuttlefish-vhal.md similarity index 88% rename from _meetup/2022-03-aims-and-objectives-the-cuttlefish-emulator-vhal-socketcomm.md rename to _meetup/2022-03-kickoff-cuttlefish-vhal.md index 5607046..427f21f 100644 --- a/_meetup/2022-03-aims-and-objectives-the-cuttlefish-emulator-vhal-socketcomm.md +++ b/_meetup/2022-03-kickoff-cuttlefish-vhal.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "March 2022: Aims and Objectives / The Cuttlefish Emulator / VHAL SocketComm" +title: "March 2022: Kickoff, Cuttlefish, and VHAL" --- This page preserves the agenda for the March 2022 AOSP and AAOS Meetup. diff --git a/_meetup/2022-05-securing-imx6-android-devices-long-term-support-for-enterprise-android-devices-introduction-to-covesa-browsing-and-debugging-framework-code.md b/_meetup/2022-05-security-lts-covesa.md similarity index 82% rename from _meetup/2022-05-securing-imx6-android-devices-long-term-support-for-enterprise-android-devices-introduction-to-covesa-browsing-and-debugging-framework-code.md rename to _meetup/2022-05-security-lts-covesa.md index 9c66ebf..23b6a82 100644 --- a/_meetup/2022-05-securing-imx6-android-devices-long-term-support-for-enterprise-android-devices-introduction-to-covesa-browsing-and-debugging-framework-code.md +++ b/_meetup/2022-05-security-lts-covesa.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "May 2022: Securing iMX6 Android Devices / Long term support for Enterprise Android Devices / Introduction to COVESA / Browsing and debugging framework code" +title: "May 2022: Security, LTS, and COVESA" --- This page preserves the agenda for the May 2022 AOSP and AAOS Meetup. diff --git a/_meetup/2022-07-extending-the-vehicle-hal-with-vendor-properties-debugging-native-platform-code-using-lldb-keeping-embedded-android-up-to-date.md b/_meetup/2022-07-vhal-lldb-updates.md similarity index 81% rename from _meetup/2022-07-extending-the-vehicle-hal-with-vendor-properties-debugging-native-platform-code-using-lldb-keeping-embedded-android-up-to-date.md rename to _meetup/2022-07-vhal-lldb-updates.md index a65abc3..36a2585 100644 --- a/_meetup/2022-07-extending-the-vehicle-hal-with-vendor-properties-debugging-native-platform-code-using-lldb-keeping-embedded-android-up-to-date.md +++ b/_meetup/2022-07-vhal-lldb-updates.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "July 2022: Extending the Vehicle HAL with vendor properties / Debugging native platform code using LLDB / Keeping Embedded Android Up To Date" +title: "July 2022: VHAL, LLDB, and Updates" --- This page preserves the agenda for the July 2022 AOSP and AAOS Meetup. diff --git a/_meetup/2022-09-linux-plumbers-conference-android-trout-you-can-do-better-than-bug-reports-gdb-lldb-debugging-custom-rpi4-linux-kernel.md b/_meetup/2022-09-lpc-trout-debugging.md similarity index 83% rename from _meetup/2022-09-linux-plumbers-conference-android-trout-you-can-do-better-than-bug-reports-gdb-lldb-debugging-custom-rpi4-linux-kernel.md rename to _meetup/2022-09-lpc-trout-debugging.md index 87be3e7..3005c05 100644 --- a/_meetup/2022-09-linux-plumbers-conference-android-trout-you-can-do-better-than-bug-reports-gdb-lldb-debugging-custom-rpi4-linux-kernel.md +++ b/_meetup/2022-09-lpc-trout-debugging.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "September 2022: Linux Plumbers Conference / Android Trout / You can do better than bug reports / gdb & lldb debugging custom RPI4 linux kernel" +title: "September 2022: LPC, Trout, and Debugging" --- This page preserves the agenda for the September 2022 AOSP and AAOS Meetup. diff --git a/_meetup/2022-11-connectivityservice-and-networking-in-android-securing-imx6-android-devices-part-2-debugging-sepolicy.md b/_meetup/2022-11-networking-imx6-sepolicy.md similarity index 83% rename from _meetup/2022-11-connectivityservice-and-networking-in-android-securing-imx6-android-devices-part-2-debugging-sepolicy.md rename to _meetup/2022-11-networking-imx6-sepolicy.md index db5686d..c33a125 100644 --- a/_meetup/2022-11-connectivityservice-and-networking-in-android-securing-imx6-android-devices-part-2-debugging-sepolicy.md +++ b/_meetup/2022-11-networking-imx6-sepolicy.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "November 2022: ConnectivityService and networking in Android / Securing iMX6 Android Devices, Part 2 / Debugging SEPolicy" +title: "November 2022: Networking, iMX6, and SEPolicy" --- This page preserves the agenda for the November 2022 AOSP and AAOS Meetup. diff --git a/_meetup/2023-01-app-developers-and-android-automotive-os-thoughts-about-aosp-on-raspberry-pi-4.md b/_meetup/2023-01-aaos-apps-raspberry-pi.md similarity index 84% rename from _meetup/2023-01-app-developers-and-android-automotive-os-thoughts-about-aosp-on-raspberry-pi-4.md rename to _meetup/2023-01-aaos-apps-raspberry-pi.md index f0e2a8d..a232d58 100644 --- a/_meetup/2023-01-app-developers-and-android-automotive-os-thoughts-about-aosp-on-raspberry-pi-4.md +++ b/_meetup/2023-01-aaos-apps-raspberry-pi.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "January 2023: App developers and Android Automotive OS / Thoughts about AOSP on Raspberry Pi 4" +title: "January 2023: AAOS Apps and Raspberry Pi" --- This page preserves the agenda for the January 2023 AOSP and AAOS Meetup. diff --git a/_meetup/2023-03-devboard-maintenance-in-aosp-debugging-made-easy.md b/_meetup/2023-03-devboards-debugging.md similarity index 88% rename from _meetup/2023-03-devboard-maintenance-in-aosp-debugging-made-easy.md rename to _meetup/2023-03-devboards-debugging.md index f8d2821..b2d6718 100644 --- a/_meetup/2023-03-devboard-maintenance-in-aosp-debugging-made-easy.md +++ b/_meetup/2023-03-devboards-debugging.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "March 2023: Devboard maintenance in AOSP / Debugging Made Easy" +title: "March 2023: Devboards and Debugging" --- This page preserves the agenda for the March 2023 AOSP and AAOS Meetup. diff --git a/_meetup/2023-05-broadcast-radio-in-aaos-ramses-evolution-of-an-android-ota-management-application.md b/_meetup/2023-05-radio-ramses-ota.md similarity index 86% rename from _meetup/2023-05-broadcast-radio-in-aaos-ramses-evolution-of-an-android-ota-management-application.md rename to _meetup/2023-05-radio-ramses-ota.md index 94b4dd9..7c22680 100644 --- a/_meetup/2023-05-broadcast-radio-in-aaos-ramses-evolution-of-an-android-ota-management-application.md +++ b/_meetup/2023-05-radio-ramses-ota.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "May 2023: Broadcast Radio in AAOS / RAMSES / Evolution of an Android OTA management application" +title: "May 2023: Radio, RAMSES, and OTA" --- This page preserves the agenda for the May 2023 AOSP and AAOS Meetup. diff --git a/_meetup/2023-07-binder-rpc-debugging-aosp-using-android-studio-revisited.md b/_meetup/2023-07-binder-rpc-android-studio.md similarity index 89% rename from _meetup/2023-07-binder-rpc-debugging-aosp-using-android-studio-revisited.md rename to _meetup/2023-07-binder-rpc-android-studio.md index 2064eff..ddf2c25 100644 --- a/_meetup/2023-07-binder-rpc-debugging-aosp-using-android-studio-revisited.md +++ b/_meetup/2023-07-binder-rpc-android-studio.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "July 2023: Binder RPC / Debugging AOSP using Android Studio - revisited" +title: "July 2023: Binder RPC and Android Studio" --- This page preserves the agenda for the July 2023 AOSP and AAOS Meetup. diff --git a/_meetup/2023-09-interactive-aosp-based-cloud-streaming-solution.md b/_meetup/2023-09-cloud-streaming.md similarity index 90% rename from _meetup/2023-09-interactive-aosp-based-cloud-streaming-solution.md rename to _meetup/2023-09-cloud-streaming.md index b571d02..9663881 100644 --- a/_meetup/2023-09-interactive-aosp-based-cloud-streaming-solution.md +++ b/_meetup/2023-09-cloud-streaming.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "September 2023: Interactive AOSP-based cloud streaming solution" +title: "September 2023: Cloud Streaming" --- This page preserves the agenda for the September 2023 AOSP and AAOS Meetup. diff --git a/_meetup/2023-11-working-with-custom-android-devices-adventures-with-systrace.md b/_meetup/2023-11-custom-devices-systrace.md similarity index 92% rename from _meetup/2023-11-working-with-custom-android-devices-adventures-with-systrace.md rename to _meetup/2023-11-custom-devices-systrace.md index abaa0dc..763b735 100644 --- a/_meetup/2023-11-working-with-custom-android-devices-adventures-with-systrace.md +++ b/_meetup/2023-11-custom-devices-systrace.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "November 2023: Working with custom Android devices / Adventures with Systrace" +title: "November 2023: Custom Devices and Systrace" --- This page preserves the agenda for the November 2023 AOSP and AAOS Meetup. diff --git a/_meetup/2024-01-selinux-in-android-aminilog-aosp-styled-logging-macros-for-ndk-projects.md b/_meetup/2024-01-selinux-aminilog.md similarity index 86% rename from _meetup/2024-01-selinux-in-android-aminilog-aosp-styled-logging-macros-for-ndk-projects.md rename to _meetup/2024-01-selinux-aminilog.md index 2cc7848..060b64a 100644 --- a/_meetup/2024-01-selinux-in-android-aminilog-aosp-styled-logging-macros-for-ndk-projects.md +++ b/_meetup/2024-01-selinux-aminilog.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "January 2024: SELinux in Android / aminilog – AOSP styled logging macros for NDK projects" +title: "January 2024: SELinux and Aminilog" --- This page preserves the agenda for the January 2024 AOSP and AAOS Meetup. diff --git a/_meetup/2024-03-android-fragmentation-in-the-automotive-industry-what-to-expect-in-android-15.md b/_meetup/2024-03-fragmentation-android-15.md similarity index 89% rename from _meetup/2024-03-android-fragmentation-in-the-automotive-industry-what-to-expect-in-android-15.md rename to _meetup/2024-03-fragmentation-android-15.md index d82995d..3ee7bf6 100644 --- a/_meetup/2024-03-android-fragmentation-in-the-automotive-industry-what-to-expect-in-android-15.md +++ b/_meetup/2024-03-fragmentation-android-15.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "March 2024: Android Fragmentation in the Automotive Industry / What to expect in Android 15" +title: "March 2024: Fragmentation and Android 15" --- This page preserves the agenda for the March 2024 AOSP and AAOS Meetup. diff --git a/_meetup/2024-05-introducing-aosp-meetup-projects-automotive-aosp-ecosystem-you-cant-escape-the-past.md b/_meetup/2024-05-projects-aosp-ecosystem.md similarity index 91% rename from _meetup/2024-05-introducing-aosp-meetup-projects-automotive-aosp-ecosystem-you-cant-escape-the-past.md rename to _meetup/2024-05-projects-aosp-ecosystem.md index f1eb859..f253244 100644 --- a/_meetup/2024-05-introducing-aosp-meetup-projects-automotive-aosp-ecosystem-you-cant-escape-the-past.md +++ b/_meetup/2024-05-projects-aosp-ecosystem.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "May 2024: Introducing AOSP Meetup Projects / Automotive AOSP Ecosystem / You Can't Escape the Past" +title: "May 2024: Projects and the AOSP Ecosystem" --- This page preserves the agenda for the May 2024 AOSP and AAOS Meetup. diff --git a/_meetup/2024-07-aosp-development-environment-best-practices-tips-and-tricks-aaos-on-raspberry-pi-an-on-going-project.md b/_meetup/2024-07-dev-environment-raspberry-pi.md similarity index 86% rename from _meetup/2024-07-aosp-development-environment-best-practices-tips-and-tricks-aaos-on-raspberry-pi-an-on-going-project.md rename to _meetup/2024-07-dev-environment-raspberry-pi.md index e0b9ef9..0606b81 100644 --- a/_meetup/2024-07-aosp-development-environment-best-practices-tips-and-tricks-aaos-on-raspberry-pi-an-on-going-project.md +++ b/_meetup/2024-07-dev-environment-raspberry-pi.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "July 2024: AOSP Development Environment best practices, tips, and tricks / AAOS on Raspberry Pi: an on-going project" +title: "July 2024: Dev Environments and Raspberry Pi" --- This page preserves the agenda for the July 2024 AOSP and AAOS Meetup. diff --git a/_meetup/2024-09-the-covesa-aosp-sdk-feedback-from-oss-and-linux-plumbers-conference-in-vienna.md b/_meetup/2024-09-covesa-sdk-vienna.md similarity index 90% rename from _meetup/2024-09-the-covesa-aosp-sdk-feedback-from-oss-and-linux-plumbers-conference-in-vienna.md rename to _meetup/2024-09-covesa-sdk-vienna.md index b774c74..4df8faf 100644 --- a/_meetup/2024-09-the-covesa-aosp-sdk-feedback-from-oss-and-linux-plumbers-conference-in-vienna.md +++ b/_meetup/2024-09-covesa-sdk-vienna.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "September 2024: The COVESA AOSP SDK / Feedback from OSS and Linux Plumbers Conference in Vienna" +title: "September 2024: COVESA SDK and Vienna" --- This page preserves the agenda for the September 2024 AOSP and AAOS Meetup. diff --git a/_meetup/2024-11-the-aosp-community-and-aosp-devs-org.md b/_meetup/2024-11-aosp-community.md similarity index 91% rename from _meetup/2024-11-the-aosp-community-and-aosp-devs-org.md rename to _meetup/2024-11-aosp-community.md index 71c7973..e250692 100644 --- a/_meetup/2024-11-the-aosp-community-and-aosp-devs-org.md +++ b/_meetup/2024-11-aosp-community.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "November 2024: The AOSP community and aosp-devs.org" +title: "November 2024: AOSP Community" --- This page preserves the agenda for the November 2024 AOSP and AAOS Meetup. diff --git a/_meetup/2025-01-bugreport-is-your-friend-exploring-android-kiosk-variants.md b/_meetup/2025-01-bugreports-kiosks.md similarity index 90% rename from _meetup/2025-01-bugreport-is-your-friend-exploring-android-kiosk-variants.md rename to _meetup/2025-01-bugreports-kiosks.md index f4fec30..9d9aa31 100644 --- a/_meetup/2025-01-bugreport-is-your-friend-exploring-android-kiosk-variants.md +++ b/_meetup/2025-01-bugreports-kiosks.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "January 2025: Bugreport is your friend / Exploring Android Kiosk Variants" +title: "January 2025: Bugreports and Kiosks" --- This page preserves the agenda for the January 2025 AOSP and AAOS Meetup. diff --git a/_meetup/2025-03-using-vendor-apex-in-aosp-what-to-expect-in-android-16.md b/_meetup/2025-03-vendor-apex-android-16.md similarity index 92% rename from _meetup/2025-03-using-vendor-apex-in-aosp-what-to-expect-in-android-16.md rename to _meetup/2025-03-vendor-apex-android-16.md index d7bc959..789cb8d 100644 --- a/_meetup/2025-03-using-vendor-apex-in-aosp-what-to-expect-in-android-16.md +++ b/_meetup/2025-03-vendor-apex-android-16.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "March 2025: Using Vendor APEX in AOSP / What to expect in Android 16" +title: "March 2025: Vendor APEX and Android 16" --- This page preserves the agenda for the March 2025 AOSP and AAOS Meetup. diff --git a/_meetup/2025-07-writing-android-system-apps.md b/_meetup/2025-07-system-apps.md similarity index 93% rename from _meetup/2025-07-writing-android-system-apps.md rename to _meetup/2025-07-system-apps.md index f3667ca..ab2bf55 100644 --- a/_meetup/2025-07-writing-android-system-apps.md +++ b/_meetup/2025-07-system-apps.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "July 2025: Writing Android system apps" +title: "July 2025: System Apps" --- This page preserves the agenda for the July 2025 AOSP and AAOS Meetup. diff --git a/_meetup/2025-09-mastering-selinux-in-aosp-from-frustration-to-control.md b/_meetup/2025-09-selinux-control.md similarity index 90% rename from _meetup/2025-09-mastering-selinux-in-aosp-from-frustration-to-control.md rename to _meetup/2025-09-selinux-control.md index dc890fb..7658cab 100644 --- a/_meetup/2025-09-mastering-selinux-in-aosp-from-frustration-to-control.md +++ b/_meetup/2025-09-selinux-control.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "September 2025: Mastering SELinux in AOSP: From Frustration to Control" +title: "September 2025: SELinux Control" --- This page preserves the agenda for the September 2025 AOSP and AAOS Meetup. diff --git a/_meetup/2026-01-keeping-android-up-to-date-when-the-oem-fails-to-debugging-android-os-at-scale-ai-powered-log-analysis.md b/_meetup/2026-01-oem-updates-log-analysis.md similarity index 89% rename from _meetup/2026-01-keeping-android-up-to-date-when-the-oem-fails-to-debugging-android-os-at-scale-ai-powered-log-analysis.md rename to _meetup/2026-01-oem-updates-log-analysis.md index c131133..4111d80 100644 --- a/_meetup/2026-01-keeping-android-up-to-date-when-the-oem-fails-to-debugging-android-os-at-scale-ai-powered-log-analysis.md +++ b/_meetup/2026-01-oem-updates-log-analysis.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "January 2026: Keeping Android up to date when the OEM fails to / Debugging Android OS at Scale: AI-Powered Log Analysis" +title: "January 2026: OEM Updates and Log Analysis" --- This page preserves the agenda for the January 2026 AOSP and AAOS Meetup. diff --git a/_meetup/2026-03-acceleration-x-aosp-slashing-build-times-without-migration.md b/_meetup/2026-03-faster-aosp-builds.md similarity index 92% rename from _meetup/2026-03-acceleration-x-aosp-slashing-build-times-without-migration.md rename to _meetup/2026-03-faster-aosp-builds.md index a9d766d..f3f908c 100644 --- a/_meetup/2026-03-acceleration-x-aosp-slashing-build-times-without-migration.md +++ b/_meetup/2026-03-faster-aosp-builds.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "March 2026: Acceleration x AOSP: Slashing build times without migration" +title: "March 2026: Faster AOSP Builds" --- This page preserves the agenda for the March 2026 AOSP and AAOS Meetup. diff --git a/_meetup/2026-07-the-oem-vhal.md b/_meetup/2026-07-oem-vhal.md similarity index 97% rename from _meetup/2026-07-the-oem-vhal.md rename to _meetup/2026-07-oem-vhal.md index 1fb7a0e..ac7baf5 100644 --- a/_meetup/2026-07-the-oem-vhal.md +++ b/_meetup/2026-07-oem-vhal.md @@ -1,6 +1,6 @@ --- layout: meetup -title: "July 2026: The OEM VHAL" +title: "July 2026: OEM VHAL" --- This meetup will take place online via Jitsi. To join the meetup, @@ -35,4 +35,3 @@ A chance for people to introduce themselves and give a brief overview of what they are working on in a 5 minute slot. ### 19:30 Session ends -