Tagged articles
3 articles
Page 1 of 1
21CTO
21CTO
Oct 23, 2019 · Mobile Development

How Android Supports Java 8 Lambda: From invokedynamic to RetroLambda & D8

This article explains the principles behind Java 8 lambda expressions and the invokedynamic bytecode instruction, then examines how Android indirectly supports these features through tools like RetroLambda, Jack & Jill, and the D8 dex compiler, detailing their desugaring processes and limitations.

AndroidD8Desugar
0 likes · 16 min read
How Android Supports Java 8 Lambda: From invokedynamic to RetroLambda & D8
Meituan Technology Team
Meituan Technology Team
Oct 17, 2019 · Mobile Development

Understanding Java 8 Lambda Support on Android: invokedynamic, RetroLambda, Jack & Jill, and D8

The article explains how Java 8 lambda expressions rely on the invokedynamic bytecode instruction, and how Android compensates for its absence by desugaring lambdas through RetroLambda, the now‑deprecated Jack & Jill toolchain, and the modern D8 compiler, each generating synthetic classes for runtime execution.

AndroidD8Desugar
0 likes · 14 min read
Understanding Java 8 Lambda Support on Android: invokedynamic, RetroLambda, Jack & Jill, and D8
Meituan Technology Team
Meituan Technology Team
Mar 9, 2017 · Mobile Development

Enhancing Android Lint: HashMap Detection with JDK 7 Generics and Fixing Retrolambda Toast False Positives

This article explains how Meituan’s Android Lint was extended to reliably detect HashMap usage under JDK 7 generics—even when declarations and assignments are separated—by leveraging JavaContext.getType, and how a false‑positive Toast‑in‑lambda bug caused by Retrolambda was eliminated through explicit LambdaExpression checks and reflective issue‑registry replacement.

ASTAndroid LintHashMap detection
0 likes · 13 min read
Enhancing Android Lint: HashMap Detection with JDK 7 Generics and Fixing Retrolambda Toast False Positives