惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 热门话题
G
GRAHAM CLULEY
S
Schneier on Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
SegmentFault 最新的问题
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
Recorded Future
Recorded Future
I
Intezer
云风的 BLOG
云风的 BLOG
博客园 - Franky
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
T
Tenable Blog
The Hacker News
The Hacker News
T
The Blog of Author Tim Ferriss
Attack and Defense Labs
Attack and Defense Labs
D
DataBreaches.Net
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
News and Events Feed by Topic
有赞技术团队
有赞技术团队
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
N
News and Events Feed by Topic
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Secure Thoughts
The Register - Security
The Register - Security
B
Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
The Cloudflare Blog
Webroot Blog
Webroot Blog
W
WeLiveSecurity
H
Heimdal Security Blog
博客园 - 三生石上(FineUI控件)
V
Vulnerabilities – Threatpost
G
Google Developers Blog
O
OpenAI News
V
V2EX
罗磊的独立博客
博客园_首页
N
News | PayPal Newsroom
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
TaoSecurity Blog
TaoSecurity Blog
Cloudbric
Cloudbric
H
Hacker News: Front Page
博客园 - 叶小钗
T
Tor Project blog
AI
AI

Google Developers Blog

Expanding Choice in Gemini Enterprise Agent Platform: Introducing Grounding with Parallel Web Search- Google Developers Blog Building scalable AI agents with modular prompt transpilation- Google Developers Blog Evolving Spec-Driven Development: Conductor Now Supports Antigravity- Google Developers Blog Systems Engineering Playbook: Optimizing Qwen 3.5-397B MoE on Ironwood (TPU7x)- Google Developers Blog Unlocking the Next Era of On-Device AI with Google Tensor and Pixel- Google Developers Blog LiteRT.js, Google's high performance Web AI Inference- Google Developers Blog Bridging the Domain Gap: AI Race Coach built with Antigravity and Gemini- Google Developers Blog We terminated a TPU mid-training and it recovered in seconds: Introduction to elastic training with MaxText- Google Developers Blog ML Development in VS Code with Google Cloud Power: Workbench Extension Now Available- Google Developers Blog Why we built ADK 2.0- Google Developers Blog Build agentic full-stack apps with Genkit- Google Developers Blog Driving the Agent Quality Flywheel from Your Coding Agent- Google Developers Blog Build reliable multi-agent applications with ADK Go 2.0. Discover our new graph-based workflow engine, built-in human-in-the-loop, and dynamic orchestration- Google Developers Blog Measuring What Matters with Jules- Google Developers Blog Build Cross-Language Multi-Agent Team with Google’s Agent Development Kit and A2A- Google Developers Blog How A2A is Building a World of Collaborative Agents- Google Developers Blog A2UI + MCP Apps: Combining the best of declarative and custom agentic UIs- Google Developers Blog Announcing the Agentic Resource Discovery specification- Google Developers Blog Enhance Security and Trust: New Session Metadata in Sign in with Google- Google Developers Blog Unlocking the Power of the TPU Stack: Introducing our new Developer Hub- Google Developers Blog DiffusionGemma: The Developer Guide Introducing the Google Colab CLI Gemma 4 12B: The Developer Guide Bringing Gemma 4 12B to your Laptop: Unlocking Local, Agentic Workflows with Google AI Edge Supercharge your integration workflow with the Google Pay & Wallet Developer MCP server How the community trained Gemma to "Think" with Tunix and TPUs The latest updates to Google Pay Enhancing Android Checkout with Dynamic Callbacks in Google Pay Empowering Service Providers and Hardware Partners with Gemini for Home Blazing fast on-device GenAI with LiteRT-LM One Year of Innovation: Celebrating 100k Members in the Google Cloud x NVIDIA Developer Community All the news from the Google I/O 2026 Developer keynote A Smarter Google AI Edge Gallery: MCP integration, notifications, and session continuity Google Tensor SDK Beta with LiteRT An important update: Transitioning Gemini CLI to Antigravity CLI Accelerating on-device AI: A look at Arm and Google AI Edge optimization Announcing Genkit Middleware: Intercept, extend, and harden your agentic apps Build Long-running AI agents that pause, resume, and never lose context with ADK Supercharging LLM inference on Google TPUs: Achieving 3X speedups with diffusion-style speculative decoding Building with Gemini Embedding 2: Agentic multimodal RAG and beyond Speeding Up AI: Bringing Google Colossus to PyTorch via GCSFS and Rapid Bucket Building real-world on-device AI with LiteRT and NPU Agents CLI in Agent Platform: create to production in one CLI
Announcing ADK for Kotlin and ADK for Android 0.1.0: Building AI Agents on Android and Beyond
Guillaume Laforge, Jolanda Verhoef · 2026-05-21 · via Google Developers Blog

ADK for Kotlin brings agentic workflows to your backend projects, while ADK for Android provides specialized on-device optimizations

Following the recent 1.0.0 releases of ADK for Java and Go, as well as the beta of ADK for Python 2.0, we are thrilled to announce the launch of version 0.1.0 of Agent Development Kit (ADK) for Kotlin! In addition, we're also launching an additional specialized library called ADK for Android. ADK is a flexible and open-source framework for developing and running AI agents, and is now available in Kotlin. With the Android version you can create AI agents that can operate on-device directly within your apps with local on-device LLMs, enhancing privacy, but with the flexibility to bridge the gap with cloud-based models.

Why ADK for Kotlin?

The AI ecosystem is experiencing a massive shift toward the edge, since the introduction of Gemini Nano as a model on Android, it has become available on over 140 million devices. As developers look to build faster, more cost-effective, and privacy-enhancing applications, the ability to run AI models directly on mobile hardware (models like Gemini Nano) has never been more critical. However, building agentic systems can be complex, especially when coordinating tasks between the cloud and the edge. ADK removes that friction by managing all the complex orchestration, context handling, and error handling for you.

With just a few lines of Kotlin, you can:

  • Easily swap out models depending on your needs
  • Choose between various on-device and cloud models for different parts of your multi-agent system
  • Seamlessly share session state between multiple agents
  • Run agents directly on Android devices

Feature Highlights

  • Hybrid Orchestration: You can use a cloud model as your main orchestrator, which can then offload specific tasks to sub-agents that run fully on-device. The ADK library takes care of adapting generic agent implementations to the correct cloud or on-device APIs.
  • On-Device Sequential Agents: You can define sub-agents as sequential agents, perfect for multiple tasks that need to run one after the other.
  • Local Retrieval: By utilizing on-device models like Gemini Nano, you can create retrieval agents that access and parse documents locally, ensuring data never has to leave the hardware.
  • Flexible Tooling: You can equip your agents with specific tools and provide top-level instructions so they know exactly how to behave and when to delegate to subagents.

Real-World Example: The Trip Assistant

During our I/O session, we showcased how ADK for Kotlin powers an in-app trip assistant.

If a user encounters an issue while traveling, the cloud-based orchestrator interacts with the user to understand the problem. However, when it needs to verify a booking confirmation, it delegates the task to an on-device subagent. Various retrieval agents use the on-device Gemini Nano model to extract data from the user's locally stored documents. Finally, a validation agent compares the data coming from these analyses. This keeps private data offline while leveraging the reasoning capabilities of the cloud orchestrator.

Getting started with ADK for Android

To add ADK to your Android app, add the following dependency to your build.gradle.kts file:

implementation("com.google.adk:google-adk-kotlin-core-android:0.1.0")

Kotlin

Copied

You can then easily build your ADK agents:

val orchestrator = LlmAgent(
  name = "genius_orchestrator",
  model = Gemini(apiKey = apiKey, name = MODEL_NAME),
  instruction = Instruction("""
    You are a travel genius assistant.
    First, use `get_trip_details` to get the full itinerary of the trip and 
    understand what events are scheduled.
    Then, respond with a welcome message tailored to the trip state.
    """.trimIndent()),
  tools = listOf(GetTripDetailsTool(tripId)),
  subAgents = listOf(carRentalPipeline, hotelPipeline),
  disallowTransferToPeers = true,
  disallowTransferToParent = true,
)

Kotlin

Copied

For more extended agent setups, check out the ADK for Android demos.

Getting Started with ADK for Kotlin

In your build.gradle.kts file, add the following dependencies:

dependencies {
      // Implementation dependency for ADK Core
      implementation("com.google.adk:google-adk-kotlin-core:0.1.0")
      
      // KSP processor for generating @AdkTools
      ksp("com.google.adk:google-adk-kotlin-processor:0.1.0")
  }

Kotlin

Copied

ADK for Kotlin lets you define tools to equip the LLM with extra powers. Let’s create an imagined “improbability drive” service, inspired from the Hitchhiker’s Guide to the Galaxy:

class ImprobabilityDriveService {
 /** Calculates the improbability of a given event. */
 @Tool
 fun calculateImprobability(
   @Param("The event to calculate the improbability for, e.g., 'A cup of tea materializing'")
   event: String
 ): String {
   return "The improbability of '$event' is approximately 42 to 1 against."
 }
}

Kotlin

Copied

Notice the use of the @Tool and @Param annotations to describe the tool to the LLM.

Now, we can create a first agent, which will be the sub-agent of a main agent we’ll define later on. The HeartOfGold agent represents the spaceship’s computer:

val heartOfGoldAgent =
    LlmAgent(
      name = "HeartOfGold",
      description = "The Heart of Gold ship computer. Handles improbability drive queries.",
      model = Gemini(apiKey = apiKey, name = "gemini-2.5-flash"),
      instruction =
        Instruction(
          """
          You are the ship computer of the Heart of Gold. You are cheerful, helpful, and slightly annoying.
          You have access to the Infinite Improbability Drive.
          Use real facts about yourself if asked, but keep it funny.
          """
          .trimIndent()
        ),
      tools = ImprobabilityDriveService().generatedTools()
    )

Kotlin

Copied

Now we can use this sub-agent in our root agent:

val rootAgent =
  LlmAgent(
    name = "MissionControl",
    description = "The central router for space queries. Routes to HeartOfGold.",
    subAgents = listOf(heartOfGoldAgent),
    model = Gemini(apiKey = apiKey, name = "gemini-2.5-flash"),
    instruction =
      Instruction(
        """
        You are Mission Control. You are the central hub for all communications.
        Your main job is to route the user's query to the most appropriate agent.
        - If the query is about improbability, the Infinite Improbability Drive, or the Heart of Gold, transfer to `HeartOfGold`.
        - Otherwise, respond directly with a professional but stressed persona.
        """
        .trimIndent()
      )
  )

Kotlin

Copied

The heartOfGoldAgent is defined as a subagent in the agent configuration of this main agent.

When the user asks questions about the improbability of an odd event to happen, the main agent delegates the task to the heartOfGoldAgent, which in turn will call the local function tool to calculate the probability, before replying to the user.

This is a simple example of how you can define tools and sub agents in ADK for Kotlin.

ADK feature set

The ADK for Kotlin & ADK for Android 0.1.0 releases contain the foundational feature set required for building AI agents on Android and beyond, including advanced control over agent execution, comprehensive tooling, and essential services for state management.

Agents

Tooling & Integrations

Runtime & Observability

Developer Experience

Android Models

  • ML Kit GenAI to access on-device Gemini Nano via AICore
  • Firebase AI Logic to access Gemini models running in the cloud
  • Google GenAI for quick prototyping

What's Next?

This 0.1 release is our first experimental version of the library, currently featuring default agents for the ML Kit GenAI APIs and direct connections to Gemini in the Cloud. But we are just getting started!

We are incredibly excited about the future of in-app AI and can’t wait to see the intelligent experiences you build. Be sure to check out the project on GitHub!