<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>Android Weekly</title>
    <description>Android Weekly is a free newsletter that helps you to stay cutting-edge with your Android Development</description>
    <link>https://androidweekly.net/</link>
    <item>
  <title>Android Weekly Issue #736</title>
  <link>https://androidweekly.net/issues/issue-736</link>
  <description><![CDATA[<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="editor-col OneColumnMobile" width="100%" align="" valign="top" style="background-color: rgb(51, 181, 229);" bgcolor="33B5E5"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text editor-text" align="left" valign="top" style="font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; line-height: 1.2; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div><span style="font-size: 18px; color: rgb(255, 255, 255); font-family: Arial, Verdana, Helvetica, sans-serif; font-weight: bold;">Articles & Tutorials</span></div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="editor-col OneColumnMobile" width="20%" align="" valign="top"><div><div class="column-resize-bar"><span class="line"></span><span class="grabber"></span></div></div>
<div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text" align="left" valign="top" style="font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; line-height: 1.2; padding: 10px 10px 10px 20px;"><div class="text-container galileo-ap-content-editor"><div><div><span style="font-size: 12px; color: rgb(153, 153, 153); font-style: italic;">Sponsored</span></div></div></div></td></tr></tbody></table></div>
<div class="gl-contains-image"><table class="editor-image  editor-image-vspace-on editor-image-hspace-on" style="min-width: 100%;" width="100%" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td align="left" valign="top" style="padding: 10px 10px 10px 20px;"><div class="publish-container">
<a href="https://androidweekly.net/jobs/new" target="_blank">
<img alt class="" style="display: block; height: auto !important; max-width: 100% !important;" width="90" border="0" hspace="0" vspace="0" src="https://androidweekly.net/system/images/6a5cea/233c93bc5240012c4a/square_aw.png">
</a></div></td></tr></tbody></table></div></td><td class="editor-col OneColumnMobile" width="80%" align="" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text editor-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px 10px 10px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://androidweekly.net/jobs/new" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Advertise to more than 80k Android developers!
</a></div><div>We reach out to more than 80k Android developers around the world, every week, through our email newsletter and social media channels. Advertise your Android development related service or product!
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="editor-col OneColumnMobile" width="100%" align="" valign="top"><div class="gl-contains-spacer"><table class="editor-spacer" width="100%" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="" align="center" valign="top"><table cellpadding="0" cellspacing="0" border="0" width="100%"><tbody><tr><td class="spacer-base" width="100%" align="center" valign="top" style="padding-bottom: 15px; height: 1px; line-height: 1px;"><div><img alt width="5" height="1" border="0" hspace="0" vspace="0" src="https://imgssl.constantcontact.com/letters/images/1101116784221/S.gif" style="display: block; height: 1px; width: 5px;"></div></td></tr></tbody></table></td></tr></tbody></table></div></td></tr></tbody></table><table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://medium.com/@kmpbits/change-the-map-feature-flags-and-remote-config-in-kotlin-multiplatform-kmp-bits-44537b1cce8e?source=rss-7a64779f2182------2" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Change the Map: Feature Flags and Remote Config in Kotlin Multiplatform
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>KMP Bits walks through feature flag and remote config patterns for safely rolling out features in Kotlin Multiplatform.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://publicobject.com/2026/07/13/test-set/" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Test & Set
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Jesse Wilson explains how testAndSet() simplifies concurrent code by separating business logic from concurrency logic.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://touchlab.co/droidcon-us-2026" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Our Droidcon US 2026 Picks
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Sam Hill highlights must-watch talks from Droidcon US 2026 covering KMP, Kotlin Native, AI development, and Gradle.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://ryanharter.com/blog/2026/07/a-great-gradle-module-structure/" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
A Great Gradle Module Structure
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Ryan Harter outlines a Gradle module structure with separate API and implementation modules for build speed and encapsulation.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://jakewharton.com/live-coding-with-dir-stepper/" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Live coding with dir stepper
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Jake Wharton demonstrates building dir-stepper, a Kotlin/Native tool for managing code steps in live coding presentations.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://www.reddit.com/r/RedditEng/comments/1urq7f6/how_we_rewrote_reddits_video_player_on_android/" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
How We Rewrote Reddit's Video Player on Android
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Alexey Bykov explains how Reddit built ExoKit, an opinionated video player abstraction optimizing performance through pooling and component design.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://medium.com/@anandwana/the-complete-guide-to-android-cli-a-faster-way-to-build-debug-and-automate-android-apps-d23b8311b41a?sharedUserId=anandwana" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
The Complete Guide to Android CLI: A Faster Way to Build, Debug, and Automate Android Apps
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Akshay Nandwana demonstrates the Android CLI tool's capabilities for building, debugging, and automating Android apps directly from the terminal.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://medium.com/@dhananjaydy/fakes-vs-mocks-in-testing-08ec776742d9" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Fakes vs Mocks in Testing
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Dhananjay examines when to use mocks versus fakes in testing, with Android examples for DAOs and repositories.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://androidengineers.substack.com/p/the-complete-guide-to-android-cli" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
The Complete Guide to Android CLI: A Faster Way to Build, Debug, and Automate Android Apps
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Akshay Nandwana examines Android CLI, a terminal interface enabling developers and AI agents to build, debug, and automate Android development.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://medium.com/gitconnected/how-i-used-a-qa-agent-workflow-to-reduce-manual-testing-pressure-ab1c91efd65a?sharedUserId=jamescullimore" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
How I Used a QA Agent Workflow to Reduce Manual Testing Pressure
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>James Cullimore outlines a QA workflow using agents to connect manual test cases with existing automation coverage.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://kt.academy/article/pull-to-refresh" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
How to Correctly Implement Pull-to-Refresh on Mobile
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Marcin Moskala explains how to implement pull-to-refresh correctly, keeping data visible while refreshing and handling errors gracefully.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://medium.com/gitconnected/what-adb-can-teach-you-about-broken-android-ipc-protections-32f9e0adf73a" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
What adb Can Teach You About Broken Android IPC Protections
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>James Cullimore explores Android IPC security flaws and demonstrates proper component protection using adb and signature permissions.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://proandroiddev.com/teaching-a-kotlin-chess-engine-to-debug-itself-c31696282c86" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Teaching a Kotlin Chess Engine to Debug Itself
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Gabor Berenyi shows how to architect a Kotlin logic module so AI agents can autonomously test, debug, and fix it.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://proandroiddev.com/seven-claude-code-commands-one-kotlin-multiplatform-app-on-android-and-ios-cb01e920a3e6" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Seven Claude Code commands, one Kotlin Multiplatform app on Android and iOS
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Ali Sadeghi walks through building a Kotlin Multiplatform art gallery app using seven Claude Code commands and a design-first pipeline.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://msfjarvis.dev/posts/rewriting-claw-html-parser-for-over-the-air-updates/" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Rewriting Claw's HTML parser for over-the-air updates
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Harsh Shandilya demonstrates migrating an Android app's HTML parser to Kotlin/JS and Zipline for faster over-the-air updates.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://medium.com/proandroiddev/multi-module-build-economics-designing-api-vs-implementation-boundaries-to-survive-50-dev-teams-464e6ddeabeb" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Multi-Module Build Economics: Designing API vs. Implementation Boundaries to Survive 50+ Dev Teams
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Sarveshwar Maheshwari examines Gradle module architecture and API/implementation boundaries for efficient multi-module builds at scale.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="editor-col OneColumnMobile" width="100%" align="" valign="top" style="background-color: rgb(51, 181, 229);" bgcolor="33B5E5"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text editor-text" align="left" valign="top" style="font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; line-height: 1.2; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div><span style="font-size: 18px; color: rgb(255, 255, 255); font-family: Arial, Verdana, Helvetica, sans-serif; font-weight: bold;">Libraries & Code</span></div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://github.com/renetik/renetik-android" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Renetik Android
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>A Kotlin framework for reactive, MVC-style Android apps with events, properties, stores, and a UI layer.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://github.com/iamjosephmj/ticker" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
ticker
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>A Kotlin library providing kernel-aligned wall-clock ticks for Android without threads or drift.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://github.com/j-roskopf/Andy" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Andy
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>A Kotlin desktop app for managing Android Virtual Devices and debugging emulators.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://github.com/mohdaquib/ComposeA11yScanner" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Compose A11y Scanner
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>A runtime accessibility scanner for Jetpack Compose that detects missing content descriptions, low contrast, and touch target issues.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://github.com/soniqo/speech-android" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Speech Android
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>An on-device speech SDK for Android with ASR, TTS, VAD, and noise cancellation using ONNX Runtime.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="editor-col OneColumnMobile" width="100%" align="" valign="top" style="background-color: rgb(51, 181, 229);" bgcolor="33B5E5"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text editor-text" align="left" valign="top" style="font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; line-height: 1.2; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div><span style="font-size: 18px; color: rgb(255, 255, 255); font-family: Arial, Verdana, Helvetica, sans-serif; font-weight: bold;">News</span></div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="editor-col OneColumnMobile" width="20%" align="" valign="top"><div><div class="column-resize-bar"><span class="line"></span><span class="grabber"></span></div></div>
<div class="gl-contains-image"><table class="editor-image  editor-image-vspace-on editor-image-hspace-on" style="min-width: 100%;" width="100%" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td align="left" valign="top" style="padding: 10px 10px 10px 20px;"><div class="publish-container">
<a href="https://blog.jetbrains.com/kotlin/2026/07/kotlin-turns-15-celebrate-the-kotlin-effect/" target="_blank">
<img alt class="" style="display: block; height: auto !important; max-width: 100% !important;" width="90" border="0" hspace="0" vspace="0" src="https://androidweekly.net/system/images/6a5bd0/1c3c93bc524000f30f/square_Bildschirmfoto_2026-07-19_um_17.16.46.png">
</a></div></td></tr></tbody></table></div></td><td class="editor-col OneColumnMobile" width="80%" align="" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text editor-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px 10px 10px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://blog.jetbrains.com/kotlin/2026/07/kotlin-turns-15-celebrate-the-kotlin-effect/" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Kotlin Turns 15: Celebrate the Kotlin Effect
</a></div><div>JetBrains celebrates Kotlin's 15th anniversary with community spotlights, a browser game, and free Hyperskill courses through September.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="editor-col OneColumnMobile" width="100%" align="" valign="top"><div class="gl-contains-spacer"><table class="editor-spacer" width="100%" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="" align="center" valign="top"><table cellpadding="0" cellspacing="0" border="0" width="100%"><tbody><tr><td class="spacer-base" width="100%" align="center" valign="top" style="padding-bottom: 15px; height: 1px; line-height: 1px;"><div><img alt width="5" height="1" border="0" hspace="0" vspace="0" src="https://imgssl.constantcontact.com/letters/images/1101116784221/S.gif" style="display: block; height: 1px; width: 5px;"></div></td></tr></tbody></table></td></tr></tbody></table></div></td></tr></tbody></table><table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="editor-col OneColumnMobile" width="100%" align="" valign="top" style="background-color: rgb(51, 181, 229);" bgcolor="33B5E5"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text editor-text" align="left" valign="top" style="font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; line-height: 1.2; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div><span style="font-size: 18px; color: rgb(255, 255, 255); font-family: Arial, Verdana, Helvetica, sans-serif; font-weight: bold;">Videos & Podcasts</span></div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="editor-col OneColumnMobile" width="20%" align="" valign="top"><div><div class="column-resize-bar"><span class="line"></span><span class="grabber"></span></div></div>
<div class="gl-contains-image"><table class="editor-image  editor-image-vspace-on editor-image-hspace-on" style="min-width: 100%;" width="100%" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td align="left" valign="top" style="padding: 10px 10px 10px 20px;"><div class="publish-container">
<a href="https://www.youtube.com/watch?v=gIyfJy7_6Sg" target="_blank">
<img alt class="" style="display: block; height: auto !important; max-width: 100% !important;" width="90" border="0" hspace="0" vspace="0" src="https://androidweekly.net/system/images/6a5bd0/1f3c93bc524000f31b/square_Bildschirmfoto_2026-07-19_um_17.17.20.png">
</a></div></td></tr></tbody></table></div></td><td class="editor-col OneColumnMobile" width="80%" align="" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text editor-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px 10px 10px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://www.youtube.com/watch?v=gIyfJy7_6Sg" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Building androidskills.dev - Episode 3
</a></div><div>Code with the Italians stream live coding of androidskills.dev and learning Jetpack Compose.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="editor-col OneColumnMobile" width="100%" align="" valign="top"><div class="gl-contains-spacer"><table class="editor-spacer" width="100%" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="" align="center" valign="top"><table cellpadding="0" cellspacing="0" border="0" width="100%"><tbody><tr><td class="spacer-base" width="100%" align="center" valign="top" style="padding-bottom: 15px; height: 1px; line-height: 1px;"><div><img alt width="5" height="1" border="0" hspace="0" vspace="0" src="https://imgssl.constantcontact.com/letters/images/1101116784221/S.gif" style="display: block; height: 1px; width: 5px;"></div></td></tr></tbody></table></td></tr></tbody></table></div></td></tr></tbody></table><table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://www.youtube.com/watch?v=YeQijxpnI3E" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
How I Learned to Stop Worrying and Love Value Semantics in Kotlin
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Marat Akhin explores value semantics in Kotlin, explaining its benefits and practical application without overcomplicating memory concerns.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://www.youtube.com/watch?v=6g2mjgljn7M" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Peeling back the Layers: A Navigation3 Deep Dive
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Kotlin by JetBrains explores Navigation3's API surface, NavDisplay overloads, and how to build custom navigation logic.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://www.youtube.com/watch?v=XNJ3P-9Qw0M" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
My Best Practices For Showing Errors In an App
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Philipp Lackner breaks down when to use snack bars, banners, or full-screen errors for user-friendly error handling.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://www.youtube.com/watch?v=0wdki_Yw3rI" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Google Play PolicyBytes - July 2026 policy updates
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Google Play covers July 2026 policy updates on age requirements, package registration, AI integrations, and Target API levels.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://www.youtube.com/watch?v=QYlzKV0Oe1A" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Talking to terminals (and how they talk back)
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Jake Wharton explores terminal communication in command-line tools, covering colors, sizing, and output management.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://www.youtube.com/watch?v=98l-8N5iAGA" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
AI-Driven Performance Optimization - Kotzilla MCP
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Stevdza-San explores performance optimization using Kotzilla MCP.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://www.youtube.com/watch?v=2zcV8Y2_jFs" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Update to the latest AI models without redeploying
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Firebase shows how to swap AI models live using Remote Config without redeploying.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://www.youtube.com/watch?v=O1nTwf0QPj4" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Context Parameters and API Design
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Alejandro Serrano Mena explores context parameters in Kotlin and their API design implications.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://www.youtube.com/watch?v=-w97euRLTBA" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
Run, Kotlin, Run!
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Marc Reichelt explores multiple ways to run Kotlin on different platforms—JVM, native, JavaScript, and WebAssembly.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
<table width="100%" cellpadding="0" cellspacing="0" border="0" class="galileo-ap-layout-editor" style="min-width: 100%;"><tbody><tr><td class="content editor-col OneColumnMobile" width="100%" align="left" valign="top"><div class="gl-contains-text"><table width="100%" style="min-width: 100%;" cellpadding="0" cellspacing="0" border="0"><tbody><tr><td class="editor-text content-text" align="left" valign="top" style="line-height: 1.5; font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 14px; color: #505050; text-align: left; display: block; word-wrap: break-word; padding: 10px 20px;"><div></div><div class="text-container galileo-ap-content-editor"><div><div>
<a href="https://youtu.be/7L7_Uvvxtv0" target="_blank" style="font-size: 16px; color: #007EA8; font-weight: bold; font-style: normal; text-decoration: underline;">
We Fit a Full Offline Voice Agent Into 1.2 GB on Android
<span class="main-url" style="color: #333333; font-size: 10px;">
</span>
</a></div><div>Ivan Potapov demonstrates packing an offline voice-agent pipeline into 1.2 GB on Android.
</div></div></div></td></tr></tbody></table></div></td></tr></tbody></table>
]]></description>
  <pubDate>Sun, 19 Jul 2026 15:17:45 +0000</pubDate>
  <guid>https://androidweekly.net/issues/issue-736</guid>
</item>


  </channel>
</rss>
