Mobile Development 7 min read

Overview of JD's Aura Component Framework for Mobile Development

This article introduces JD's Aura component framework, detailing its origins, four foundational pillars, three supporting systems, key tools, SDK specifications, and the associated portal, CI, and management platforms that enable scalable Android componentization within the Avatar ecosystem.

JD Retail Technology
JD Retail Technology
JD Retail Technology
Overview of JD's Aura Component Framework for Mobile Development

Author: Zhang Zhiqiang, senior architect of JD Platform Transaction R&D, leader of Android componentization.

JD's Aura component framework began in 2014 when plugin solutions were scarce; after studying existing open‑source technologies, the team defined core mechanisms such as dex loading, resource loading, and component declaration, evolving into a mature framework.

The framework consists of four foundational pillars—Aura Engine, Aura Tools, SDK & specifications, and component support—plus three supporting systems: the Avatar portal, a continuous‑integration (CI) platform, and a component‑management (CM) platform.

Aura Engine is the core runtime that executes components. Its characteristics include simplicity, lightweight design, safety through isolated repositories, flexibility via independent compilation and dynamic upgrades, and stability with support for over 60 components. Implementation relies on hooking key Android system classes.

Aura Tools comprise a suite of Gradle plugins that streamline component development:

Aura plugin : packages Aura components and provides debugging tasks.

Shared aar : enables provided‑type AAR integration into Android projects, usable independently of Aura.

Aura tools plugin deeplink : generates deeplink indexes for component launching.

Aura tools plugin publicxml : automates creation and updating of public.xml .

Aura tools bundle dependencies : automates downloading Aura components into host projects.

SDK and Specifications offer a shared codebase for hosts and components. The SDK includes JdLib and JdSdk; JdSdk provides core modules (network, image loading, deeplink, crash, analytics, logging), while JdLib builds on it with additional business code and a unified public.xml for consistent resource IDs.

Component specifications define development rules and best practices, ensuring consistency across the ecosystem.

Component Support is provided through dedicated teams that maintain documentation, FAQs, and troubleshooting guidance to facilitate smooth Aura component development.

Avatar Portal serves as the entry point for the broader JD mobile platform (including H5, iOS, Android). Aura documentation and integration guides are hosted here.

Continuous Integration System integrates Aura component packaging into a CI platform powered by Jenkins, offering automated builds, static code checks, and failure enforcement for non‑compliant components, thereby reducing integration errors.

Component Management System (CM Platform) manages configuration, release, data analysis, and online feature toggles for Aura components, providing essential backend support for large‑scale component deployment.

In summary, this article provides a high‑level overview of the Aura framework, its architecture, tooling, and supporting infrastructure, laying the groundwork for future detailed deep‑dive articles.

mobile developmentarchitectureCI/CDAndroidcomponentizationAura FrameworkGradle Plugins
JD Retail Technology
Written by

JD Retail Technology

Official platform of JD Retail Technology, delivering insightful R&D news and a deep look into the lives and work of technologists.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.